转载原文:
https://zhuanlan.zhihu.com/p/145037940

可查看我的博文:【长篇博文】Docker学习笔记(四):镜像的分层、打包、双向绑定、导入导出、Dockerfile的构建、部署与发布
首先使用anaconda3的基础镜像创建,可能需要检查换源。下面代码块是添加在/etc/docker/daemon.json文件中的内容。值得注意的是,如果当前sudo用户没有写文件的权限,需要改变权限,比如使用chromd 777命令。

{"registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com","https://2lqq34jg.mirror.aliyuncs.com","https://pee6w651.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com"],"dns": ["8.8.8.8","8.8.4.4"]
}
  1. 第二步是将自己的conda虚拟环境导出成environment.yml文件。这个文件不能跨平台装环境。采用命令:
conda env export > environment.yml

导出之后的文件在与anaconda3相同的目录下。

  1. 接着就是创建Dockerfile文件,文件里面的内容写上

FROM continuumio/anaconda3 # 如果没有基础镜像,那么docker会自动pull该基础镜像
WORKDIR /yourworkpath # 指定工作目录

Create the environment:

COPY environment.yml .
RUN conda env create -f environment.ymlSHELL ["/bin/bash", "-c"]RUN echo "source activate pytorch-gpu" > ~/.bashrc
ENV PATH /opt/conda/envs/env/bin:$PATHCMD ["/bin/bash"]
  1. 然后使用sudo docker build -t imagename:tag . 命令运行Dockerfile文件。这里imagename是镜像名字,不能出现大写。tag是标签。Dockerfile必须和environment.yml文件在用一个目录下,并且都在WORKDIR工作目录下。

  2. 运行完成后,不出意外也就创建了环境并且一旦创建镜像的容器,就会自动进入该虚拟环境。并且容器不会自动退出,而是进入一个bash交互环境。

Dockerfile文件和environment.yml存放在home目录下:

执行如下,测试案例:

然后镜像的导出可查看上面我的博客文章。

未完待续。。。。
参考资料

参考文献:
https://zhuanlan.zhihu.com/p/145037940
https://blog.csdn.net/u012759006/article/details/107624413
https://www.it610.com/article/1295575955175186432.htm
https://blog.csdn.net/weixin_41270857/article/
https://www.jianshu.com/p/38909ffd763d?utm_campaign=hugo
https://www.pianshen.com/article/73621566567/
https://blog.csdn.net/liyuxing6639801/article/details/65637784

将Anaconda3创建的虚拟环境打包成Docker环境相关推荐

  1. 一步步把一个SpringBoot应用打包成Docker镜像并运行

    (1) 首先要有一个可以工作的SpringBoot应用. 从Jerry的github上clone这个github repository到本地: cd进入项目文件夹内,使用命令行mvn spring-b ...

  2. SpringBoot打包成Docker镜像

    1. 本文环境 Maven:3.6.3 (Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11 (Docker搭建参 ...

  3. 怎么把一个Java应用打包成Docker镜像

    怎么把Java应用打包成Docker镜像?对熟悉Docker的同学这应该是一个很简单的问题,把项目打包成JAR包然后在Dockerfile里用ADD命令把JAR文件放到镜像里,启动命令设置执行这个JA ...

  4. Maven项目打包成Docker镜像并启用

    SpringBoot项目打包成Docker镜像 1.将Maven项目打包成一个jar包. (先clean,再package) 2.创建一个docker文件夹,以及Dockerfile文件 mkdir ...

  5. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定

    1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...

  6. docker image name 更改_将前端应用打包成docker镜像并部署?仅需一个脚本就搞定

    1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...

  7. springboot jar 打包成docker 镜像并运行

    一.安装docker 并运行 详情见 CentOS-7 下在线安装docker 与卸载_cyw8998的专栏-CSDN博客 二.建springboot web工程端口定为10188,并打包成jar 三 ...

  8. python-包引入和.py打包成无需环境的.exe

    一.opencv安装 cmd中 使用的清华大学的镜像包: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python 安 ...

  9. docker创建镜像并打包成tar

    需求:现有一个py文件,一个能联网的linux系统,一个不能联网的服务器,要把该py文件部署到不能联网的服务器上. 参考链接:docker打包python项目成镜像文件 - 知乎 Docker容器镜像 ...

  10. java打包成docker images

    一个最简单的jar包的Dockerfile制作 openjdk的dockerhub地址 在代码根目录创建Dockerfile文件,内容如下 FROM openjdk:8-alpineLABEL &qu ...

最新文章

  1. Java项目命名规范
  2. 开启多媒体台式计算机过程,计算机硬件的组成多媒体教学课件制作
  3. 机器学习实战(二)——k-近邻算法
  4. 【转】探索c#之Async、Await剖析
  5. VM虚拟机里,如何将Linux Ubuntu系统改为简体中文及下载拼音的打字法
  6. 开源NewSQL – CockroachDB在百度内部的应用与实践
  7. leetcode python3 简单题168. Excel Sheet Column Title
  8. android的ant脚本build.xml自动生成模板
  9. 订阅个人Blog最新评论的方法
  10. 今天遇到的一个诡异的core和解决 std::sort
  11. python调用QQ音乐API
  12. BZOJ 2037 [Sdoi2008] Sue的小球
  13. IE地址栏的最大长度
  14. 解决IDEA的Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one of its dependencies cou
  15. 重读《从菜鸟到测试架构师》-- 测试专家的第一步
  16. 《人无信不立》你是一个有信用的人吗?
  17. 基于MATLAB的图片中字符的分割与识别
  18. TC(Linux下流量控制工具)详细说明及应用
  19. 扇贝python学完_爬虫:爬取扇贝上python常用单词,减少登陆和贝壳的繁琐
  20. Python 下载视频出错 you-get: [error] oops, something went wrong.

热门文章

  1. git 显示不出图标
  2. Android开发的常见报错
  3. 计算机机房坏境设施演练,计算机机房环境设施应急演练方案(6页)-原创力文档...
  4. ROS学习第五天 ROS常用的组件库(一)——TF
  5. 【流量分析】Godzilla分析
  6. ssm毕设项目宠物托运网站8m8iz(java+VUE+Mybatis+Maven+Mysql+sprnig)
  7. 量化炒股---长期实盘交易(12.8万如何变100万)
  8. 零跑开启了加速模式,正在快速发展
  9. 除了做测试,我们还能做些什么呢?
  10. 29_static关键字