最近做的一个项目,涉及到MongoDB集群、Spark集群,Hadoop集群,Python2.7,Python3.5,各种推荐算法,Java Resin环境,LNMP环境、vsftpd等,因为需要部署内网环境、测试环境、生产环境,每次部署就是一次折磨,这个时候Docker的好处就体现出来了,把Python环境、LNMP环境、vsftpd等,全部打入docker中,特别爽歪歪。经过2个月的部署,联调也整理了一些docker的实用命令。
系统环境以CentOS 7为例
-
下载安装docker并启动服务
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
下载 docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm1 2yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm service docker start -
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服务
1[root@localhost /]# systemctl restart network && systemctl restart dockerFailed to get D-Bus connection: Operation not permitted
1docker run -d --name centos7 --privileged=true --net=host -v /home/code:/home/code centos:mysql_python3_jdk1.8 /usr/sbin/init长时间运行docker容器,并装载宿主机路径
1docker run -dit -v /home/code:/home/code python35:latest /bin/bash进入已经启动的docker容器
1docker exec -it 容器id /bin/bash启动某个容器镜像
1docker run -it python35:latest /bin/bashDocker导出:
1docker export -o /home/python35.tar 容器iddocker save *.tar
Docker导入:
1docker import /home/python35.tardocker load < *.tar
Docker 打标签
1docker tag 镜像id REPOSITORY:TAGDocker 指定网络为宿主机网络
1docker run -dit --net=host python35:latest /bin/bashDocker 指定容器和宿主机时间同步
1docker run -dit -v /etc/localtime:/etc/localtime python35:latest /bin/bash安装JDK1.8
1yum install java-1.8.0-openjdk* -y安装MySQL5.6
1 2 3 4 5 6 7 8rpm -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编码
1echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
|
|