应对情况:在项目合作过程,从合作团队收到他们已经封装好的镜像,其中包含 environment_setting.py / docker-compose.yml / Dockefile 等文件,因此本文主要聚焦 Docker 镜像使用,不包含 Docker 镜像制作等内容。
环境:Linux Ubuntu 18
Docker 安装
检查虚拟机上是否预装好 Docker
很多租赁或者购买的云虚拟机上都已经提前装好了 docker-engine 和 docker-compose ,所以可以使用下面的命令行先看下 Docker 的安装情况和版本:
docker --version # 检查当前版本 |
如果版本符合你的需求,可以直接试试运行 “Hello-World” 镜像:
sudo service docker start && docker run hello-world |
如果 Docker 可以正常工作,输入完命令后会出现:
“Hello from Docker! This message shows that your installation appears to be working correctly.”
安装 Docker
相反,如果 Docker 没有安装或者版本不符合你的需求,可以按照以下方法安装。
(主要参考官方文档: https://docs.docker.com/engine/install/ubuntu/)
移除之前的版本
sudo apt-get remove docker docker-engine docker.io containerd runc |
设置 repository
sudo apt-get update |
基本上到这里 Docker 就已经安装成功,可以使用第一步中的命令,再次进行检查。有些时候,可能需要安装某个特殊版本的 Docker(例如我之前曾遇到过预安装的 docker-engine 和 docker-compose 版本不对应的情况),那么可以参考下方的命令。
安装指定版本的 docker-composer
curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-\ |
安装镜像
python environment_setting.py [options] # 基于本地文件进行镜像安装 |
输入上方命令后,需要一些时间搭建镜像。完成后,你可以使用下面命令查看镜像是否安装成功。
docker images ls |
如果镜像搭建成功,你将可以看到你的 镜像名称(image_name),镜像ID(image_ID)。这在后面将会用到。
另外,如果在搭建过程中出现任何错误,你可以通过以下命令删除你的镜像。
docker rmi <image_ID or image_name> # 删除某个镜像 |
创建和使用容器(container)
基于某个镜像新建一个容器:
docker run -it <image_ID> /bin/bash # 最简单的方式 |
正常创建后,你会看到 root@container_ID。这边的 container_ID 是自动生成的,后面会遇到。
如果你需要用到 conda 环境和 conda 命令:
conda init bash # 在容器内部 |
另外,任何时候你想查看容器状态或者对容器进行管理,可以参考下方的命令。
docker ps # 查看正在运行的容器 |
其他一些可能会用到的命令
docker inspect -f '{{.Id}}' <container_ID> # 获取到容器的 container_long_ID |