安装准备
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级, 可移植的容器中, 然后发布到任何流行的 Linux 机器上, 也可以实现虚拟化.
环境要求
CentOS
安装包下载地址
安装包下载以下三个包:
- containerd.io-1.2.5-3.1.el7.x86_64.rpm
- docker-ce-cli-18.09.4-3.el7.x86_64.rpm
- docker-ce-18.09.4-3.el7.x86_64.rpm
下载地址:
依赖组件 cgroup, 下载以下四个依赖包:
- libcgroup-0.41-8.el7.x86_64.rpm
- libcgroup-devel-0.41-8.el7.x86_64.rpm
- libcgroup-pam-0.41-8.el7.x86_64.rpm
- libcgroup-tools-0.41-8.el7.x86_64.rpm
下载地址:
安装步骤
在安装包下载目录打开命令行, 使用 root 权限执行以下命令:
- rpm -ivh libcgroup-* #安装依赖包
- rpm -ivh container-selinux-2.107-3.el7.noarch.rpm
- rpm -ivh containerd.io-1.2.5-3.1.el7.x86_64. rpm
- rpm -ivh docker-ce-cli-18.09.4-3.el7.x86_64. rpm
- rpm -ivh docker-ce-18.09.4-3.el7.x86_64. rpm
验证安装
启动 docker
systemctl daemon-reload && systemctl restart docker
设置开机启动
systemctl enable docker.service
验证 docker
docker version
部署过程
IP 设置
Docker 创建自定义网络固定 IP:
docker network create --subnet 192.168.100.1/24 mynetwork
镜像和容器部署
镜像保存:
- docker commit -p e191af92f0e appserver:1.0
- docker save> appserver.tar
镜像加载:
- docker load < appserver.tar
- docker tag c463d appserver:1.0
启动容器:
docker run -itd --privileged=true --restart=always -p 2222:22 --name=YiLiao -v /home/yiliao:/home/docker --network mynetwork --ip 192.168.100.2 appserver:1.0 /usr/sbin/init
容器内部部署
进入容器
docker exec -it 容器 id /bin/bash
SSH 服务
查看 SSH 服务是否开启:
ps -e | grep SSH
若没有开启, 使用以下命令开启:
- Ubuntu: service SSH start
- CentOS: systemctl start sshd
容器编码问题
暂时修改:
- Ubuntu: export LANG=C.UTF-8
- CentOS: export LC_ALL=zh_CN.utf8
永久修改:
在 Dockerfile 中添加一行 ENV LANG C.UTF-8
启动算法服务
- nohup python mange.py runserver 8001 &
- nohup python server.py &
卸载步骤
- rpm -e containerd.io-1.2.5-3.1.el7.x86_64. rpm
- rpm -e docker-ce-cli-18.09.4-3.el7.x86_64. rpm
- rpm -e docker-ce-18.09.4-3.el7.x86_64. rpm
来源: http://www.bubuko.com/infodetail-3282519.html