首页 » 大数据 » 正文

[Docker]Docker常用命令备忘

最近做的一个项目,涉及到MongoDB集群、Spark集群,Hadoop集群,Python2.7,Python3.5,各种推荐算法,Java Resin环境,LNMP环境、vsftpd等,因为需要部署内网环境、测试环境、生产环境,每次部署就是一次折磨,这个时候Docker的好处就体现出来了,把Python环境、LNMP环境、vsftpd等,全部打入docker中,特别爽歪歪。经过2个月的部署,联调也整理了一些docker的实用命令。
系统环境以CentOS 7为例
1. 下载安装docker并启动服务
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
下载 docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm 
service docker start

2. docker的常用命令
解决报错WARNING: IPv4 forwarding is disabled. Networking will not work.

第一步:在宿主机上执行echo “net.ipv4.ip_forward=1” >>/usr/lib/sysctl.d/00-system.conf

第二步:重启network和docker服务

[root@localhost /]# systemctl restart network && systemctl restart docker

Failed to get D-Bus connection: Operation not permitted
docker run -d –name centos7 –privileged=true –net=host -v /home/code:/home/code centos:mysql_python3_jdk1.8 /usr/sbin/init
长时间运行docker容器,并装载宿主机路径

docker run -dit -v /home/code:/home/code python35:latest /bin/bash

进入已经启动的docker容器

docker  exec -it 容器id /bin/bash

启动某个容器镜像

docker run -it python35:latest /bin/bash

Docker导出:

docker export -o /home/python35.tar 容器id

docker save *.tar

Docker导入:

docker import /home/python35.tar

docker load < *.tar Docker 打标签

docker tag 镜像id REPOSITORY:TAG

Docker 指定网络为宿主机网络

docker run -dit --net=host python35:latest /bin/bash

Docker 指定容器和宿主机时间同步

docker run -dit -v /etc/localtime:/etc/localtime python35:latest /bin/bash

安装JDK1.8

yum install java-1.8.0-openjdk* -y

安装MySQL5.6

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
systemctl enable mysqld
systemctl start mysqld
初始化:
mysql_secure_installation
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '远程登录密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Python3编码
echo ‘export LANG=zh_CN.UTF-8’ >> ~/.bashrc

发表评论