docker创建python容器

使用docker可以方便地将算法所需的环境部署到其他的服务器上,最近使用docker构建了一下python环境,并将容器部署到服务器上使用,踩了一些坑,记录一下。

一、拉取docker的python镜像

docker pull python:3.7.11

直接就构建了一个基础的镜像环境。

二、进入镜像安装所需的包

docker run -it python:3.7.11 /bin/bash

pip install -i https://pypi.tuna.tsinghua.edu.cn/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.tar.gz

将压缩文件上传到服务器就可以使用了

五、加载镜像

将压缩文件上传到服务器之后,使用下面的命令加载容器

docker load < python_images.tar.gz

六、镜像上传到harbor

把镜像上传到harbor方便镜像的管理

docker tag python_diy:3.7.11 host/dev/python_image:1.0

docker push host/dev/pyhon_image:1.0

上传之前还需要登陆到服务器,并修改daemon.json的配置

cat /etc/docker/daemon.json

{"insecure-registries":["0:0:0:0"]}

七、文件拷贝进容器

docker cp /path/tasks.zip 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°的博客-CSDN博客_docker安装python第三方库

你可能感兴趣的:(python,ubuntu,linux)