资讯专栏INFORMATION COLUMN

定制带 Python3 的 Ubuntu 基础 Docker 镜像

maybe_009 / 1091人阅读

摘要:制作生成镜像创建空文件夹,将文件放在此目录运行导出镜像其中一般是格式利用镜像生成容器退出容器再次启动容器说明对容器的修改是永久保存到文件系统的。参考文档如何制作一个定制的基础镜像

1. 制作 Dockerfile
FROM daocloud.io/ubuntu:trusty
MAINTAINER water-law 
RUN apt-get update && 
    apt-get install -y python3 
                        python3-dev 
                        python3-pip 
    && apt-get clean 
    && apt-get autoclean 
    && rm -rf /var/lib/apt/lists/*
    
RUN mkdir -p /app
WORKDIR /app
EXPOSE 80
CMD ["bash"]
2. 生成镜像

创建空文件夹, 将 Dockerfile 文件放在此目录

运行 docker build -t [tagname] .

3. 导出镜像

docker images

docker save -o [output_name] [image]

其中 output_name 一般是 tar, tar.xz 格式

4. 利用镜像生成容器

docker run -it -v E:Projectswaterlawblog:/home/code [image] /bin/bash

5. 退出容器

exit

6. 再次启动容器

docker start [OPTIONS] CONTAINER [CONTAINER...]

说明: 对容器的修改是永久保存到文件系统的。

可发现 E:Projectswaterlawblog 是挂载到 docker 容器的 /home/code 目录的

7. 修改容器

比如 安装 virtualenv 且在 /home 目录使用 virtualenv -p python3 pysp

创建虚拟环境, 进入 /home/code, 运行 pip3 install -r requirements.txt

8. 提交容器修改

先退出容器 exit

基于旧的 container 提交新的 docker 镜像

docker commit -m "commit message" -a "author info" [container_id] image_name:tag

示例

docker commit -m "earth" -a "zjp" 846edc550555 kuaiyun:earth

提示: 以上命令会打了一个 REPOSITORY 为 kuaiyun、 TAG 为 earth 的镜像, 可通过

docker images 查看。

9. 导出容器

docker ps -a

| CONTAINER I D| IMAGE | COMMAND | CREATED STATUS | PORTS | NAMES |

| caa1f263a254 | myubuntu-base | "/bin/bash" | 32 minutes ago Exited (0) 54 seconds ago | | relaxed_lumiere |

docker export -o [outputfile] [container_id]

10. 导入容器 tar 文件

docker import [container_file] [command]

我这里 command 是 /bin/bash, 所以 docker import [container_file] bash

11. 导入镜像 tar 文件

docker load < [tar file]

注意 save 和 load 是配对的, import 和 export 是配对的。 import 还要加上 command。

参考文档

如何制作一个定制的 Python 基础 Docker 镜像

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27439.html

相关文章

  • 定制自己应用镜像

    摘要:指定了自己的执行器,还有其他的写法注意我们在取镜像名的时候,这里要注意,字母只能全部小写。 这部分介绍比较实用,在开中会经常用到,因为我们会根据自己的项目来构建自己的镜像,然后发布。 第一种定制方式 首先跑起来一个ubuntu,在ubuntu上安装相应的软件。 docker run -it --name temp ubuntu /bin/bash 进来后,安装一个apache2吧 ap...

    cnio 评论0 收藏0
  • Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Ngi

    摘要:容器运行时,会打印一条信息消息并退出。因此,更好地做法是将需要使用的用户加入用户组。涉及到了两条指令,和。执行命令指令是用来执行命令行命令的。 Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松! 无论是应用开发者、运维人员、还是其他信息技术从...

    fyber 评论0 收藏0
  • Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Ngi

    摘要:容器运行时,会打印一条信息消息并退出。因此,更好地做法是将需要使用的用户加入用户组。涉及到了两条指令,和。执行命令指令是用来执行命令行命令的。 Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松! 无论是应用开发者、运维人员、还是其他信息技术从...

    seanHai 评论0 收藏0
  • 可能是最详细部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI

    摘要:私有仓库是,并在中运行。不要使用或为主机名注册表服务需要由外部客户端访问或,默认为用于访问和令牌通知服务的协议。打开或关闭,默认打开打开此属性时,准备脚本创建私钥和根证书,用于生成验证注册表令牌。 上一篇文章搭建了一个具有基础功能,权限认证、TLS 的私有仓库,但是Docker Registry 作为镜像仓库,连管理界面都没有,甚至连一些运维必备的功能都是缺失的,还有什么 Docker...

    沈俭 评论0 收藏0
  • 从零开始学习 Docker

    摘要:此命令下载测试镜像并在容器中运行它。国内很多云服务商都提供了加速器服务,例如阿里云加速器注册用户并且申请加速器,会获得如这样的地址。获取镜像阿里云镜像库上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。 showImg(https://segmentfault.com/img/remote/1460000012924583); 这篇文章是我学习 Docker 的记录...

    lily_wang 评论0 收藏0

发表评论

0条评论

maybe_009

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<