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

一、拉取docker的python镜像

docker pull python:3.7.11

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

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

docker run -it python:3.7.11 /bin/bashpip 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.0docker 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第三方库

docker创建python容器相关推荐

  1. docker创建mysql容器

    docker创建mysq容器 1.在docker镜像仓库中搜索mysql镜像 docker search mysql 2.下载镜像 # 1.不指定版本,下载的镜像是最新的 latest版本 docke ...

  2. 使用docker创建mysql容器

    1.拉取mysql镜像 docker pull mysql 2.创建mysql容器(重点) #其他的mysql容器占用了3306,这次我用3307,容器的3306是固定的,改了会连接不上 [root@ ...

  3. docker创建nginx容器

    创建nginx容器 需要同时提供配置文件和网页文件 实例: [root@localhost ~]# docker run -it --name html -v /var/www/html/:/usr/ ...

  4. docker build mysql,Docker创建MySQL容器的方法

    本文目的是创建一个MySQL的image,并且在新创建出来的容器里自动启动MySQL服务接受外部连接 步骤: 1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下 2. 在Doc ...

  5. docker 创建redis容器

    1.搜索redis镜像 2.拉取redis镜像 3.创建存放redis文件夹用于存放redis mkdir /usr/data/redis/data 4.使用redis镜像运行redis容器 dock ...

  6. 通过Docker创建CentOS容器

    文章目录 前言 创建桥接网络,方便容器间通信 通过CentOS 7镜像创建容器 连接容器 容器间互相访问 目录挂载问题 参考链接 前言 先安装Docker,使用文内的脚本可以快速创建CentOS 7. ...

  7. 基于docker创建mysql容器

    基础环境 Server: Docker Engine - CommunityEngine:Version: 20.10.9 选择镜像 好用.可靠 不好用:DOCKER OFFICIAL IMAGE m ...

  8. Win10下Docker创建Centos容器SSH远程登录的镜像

    1. 创建D:/docker/centos_ssh/Dockerfile mkdir D:/docker/build/centos_ssh cd .>D:/docker/build/centos ...

  9. 通过Docker 创建mysql容器挂载到主机,删除mysql容器后,数据恢复教程

    第一种---------数据卷恢复 1.创建数据卷 docker volume create 数据卷名称 创建后可通过docker volume ls命令查看数据卷是否创建成功 2.查看数据卷挂载位置 ...

最新文章

  1. 内存和显存_【硬件资讯】显存再升级?Nvidia新卡实锤GDDR6X!显存大升级能否带来性能提升??...
  2. HTTP协议简介,数据安全 如何保证http传输安全性,http与https区别
  3. 【数据库系统设计】关系数据理论(函数依赖、码、范式、模式分解)
  4. 步步为营-45-一套增删查改
  5. 系分 - 企业信息化战略与实施
  6. 【Flutter小记9】flutter 打包的apk在某些真机无法安装或打开
  7. 蓄电池维护——蓄电池的基本构造和原理
  8. 埃克森尔科技参与IEEE BDL SC数字身份标准工作组会议
  9. Mybatis中,SQLSessionFactoryBuilder使用build方法时做了哪些事?
  10. 直线检测算法博文中缺失的几个源码(Hough_line、LSD、FLD、EDlines、LSWMS、CannyLines、MCMLSD、LSM)
  11. PHPExcel导入导出常用方法总结
  12. vc中 volatile 的作用
  13. chrome恐龙游戏java_自动玩Chrome浏览器的小恐龙游戏
  14. mmkv跨进程,Android开发经验的有效总结,系列篇
  15. 烟花代码(包教包会)
  16. Microsoft Access 操作必须使用一个可更新的查询
  17. KICAD设计——导出文件
  18. centos屏保“黑客帝国”
  19. 企业电子招标采购系统
  20. 半路出家,开始学习java

热门文章

  1. Linux可重入函数
  2. hdu 5148 Cities dp
  3. 用exec()函数执行新程序
  4. opencv 图像金字塔及图像重建、融合
  5. linux cp acp,Windows上的字符转换之CP_ACP和CP_OEMCP
  6. 深入探讨Unity协程及其使用
  7. Python编程基础(1)
  8. android 4.4 batteryservice 电池电量显示分析
  9. Node的json解析
  10. 对数似然函数值/最大近然估计/log likelihood