使用docker可以方便地将算法所需的环境部署到其他的服务器上,最近使用docker构建了一下python环境,并将容器部署到服务器上使用,踩了一些坑,记录一下。
一、拉取docker的python镜像
docker pull python:3.7.11
直接就构建了一个基础的镜像环境。
二、进入镜像安装所需的包
docker run -it python:3.7.11 /bin/bash
pip install -i /simple/ h5py==2.10.0
三、制作镜像
新开一个命令行窗口制作镜像,使用commit命令
docker commit a28b68800467 python_diy:3.7.11
其中a28b68800467是容器的container id
通过下面的命令查询
docker ps -a
四、保存镜像
将镜像保存成压缩文件
docker save python_diy:3.7.11 |gzip > python_images.
将压缩文件上传到服务器就可以使用了
五、加载镜像
将压缩文件上传到服务器之后,使用下面的命令加载容器
docker load < python_images.
六、镜像上传到harbor
把镜像上传到harbor方便镜像的管理
docker tag python_diy:3.7.11 host/dev/python_image:1.0
docker push host/dev/pyhon_image:1.0
上传之前还需要登陆到服务器,并修改的配置
cat /etc/docker/
{"insecure-registries":["0:0:0:0"]}
七、文件拷贝进容器
docker cp /path/ a28b68800467:/home
将代码或者文件拷贝进容器,然后在容器中运行代码
八、挂载文件路径
使用-v可以挂载外部路径到docker内到路径
docker run -v /home/qa:/home/qa ubuntu /bin/bash
九、端口映射
使用-p可以进行端口的映射
docker run -p 8000:8000 ubuntu /bin/bash
十、容器自动运行
有时候容器内的服务在容器关闭后就自动关闭了,因此需要让容器自动运行
docker update ubuntu --restart=always
如果要关闭自动启动
docker update ubuntu --restart=no
参考链接:Docker容器化安装Python、第三方包、制作镜像、内网部署__Seven°的博客-****博客_docker安装python第三方库