1、安装
1.如果以前安装过老版本,请先卸载以前版本
sudo apt-get remove docker.io docker-engine
2.安装docker-ce与密钥管理与下载相关依赖工具
sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common
这其中有一个安装不成功(apt-transport-https),直接就不安装它,也没有影响使用;
3.下载并安装密匙
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
4.验证是否安装成功
sudo apt-key fingerprint 0EBFCD88
5.添加软件源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable"
6.安装docker及测试
sudo apt-get update
sudo apt-get install docker-ce
docker version
# docker run hello-world
7.最后提一点,docker在deepin中默认是开机启动,关闭开机启动(我没弄成功)
sudo apt-get install chkconfig
sudo chkconfig --del docker
2、容器镜像仓库(阿里云)
阿里云容器镜像服务 https://www.aliyun.com/product/acr?
可以获取一个python3镜像:
docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
参考教程
3、使用Docker(用于比赛提交)
1.新建一个文件夹如:test
2.在文件夹下新建Dockerfile
、run.sh
、及运行文件如:run.py
3.文件配置,参考:
## Dockerfile配置:
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /
## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
run.sh参考:
python hello_world.py
4.构建镜像
docker build -t registry.cn-shenzhen.aliyuncs.com/xxx/test:1.0 .
注意:registry.~~~是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。
构建完成后可先验证是否正常运行,正常运行后再进行推送。
CPU镜像:docker run your_image sh run.sh
GPU镜像:nvidia-docker run your_image sh run.sh
your_image是IMAGE ID
,在上一步build之后会生成,或者直接docker images
查看
5.推送
首先登录阿里云镜像服务
docker login --username=用户名@aliyun.com registry.cn-shanghai.aliyuncs.com
打包
docker tag your_image registry.cn-shanghai.aliyuncs.com/xxx/test:1.0
push
docker push egistry.cn-shanghai.aliyuncs.com/xxx/test:1.0
4、删除镜像
1.查看镜像和使用:
sudo docker ps -a
sudo docker images
2.删除:
sudo docker rmi your_image
如果有CONTAINER
,必须先删除
sudo docker rm container_id
5、当前用户权限问题
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用