docker容器的构建
构建容器的方法:
(1)命令docker commit
运行容器的三个步骤:运行+修改+保存镜像
例子:
拉取镜像
docker pull centos
创建容器
docker run -itd e934aafc2206 /bin/bash
进入容器修改容器
docker exec -it e6e5f719f74c /bin/bash
yum -y install net-tools vim
将修改后的容器做成镜像
docker commit e6e5f719f74c centos-with-vim/nettools:1.0
删除修改后的容器
docker ps
docker rm -f e6e5f719f74c
docker ps
docker images
测试修改后的镜像是不是你添加的东西
docker run -it centos-with-vim/nettools:1.0
(2)dockerfile构建文件,
例子:
vim dockerfile
FROM centos
RUN yum install net-tools -y
RUN yum install elinks -y
CMD ["/bin/bash"]
执行dockerfile文件
docker build -t centos-nginx:test ./
注释;
centos-nginx:test 新镜像名称:标签
(4)查看镜像执行过程,
docker history centos-with-vim/nettools:1.0
(5)镜像的缓存特性:
1.当镜像里执行过的层就会跳过,执行新添加的层以及往下的已经有的或者没有的层.修改的时候
2.新增加的数据之只能往上层增加,才会有缓存特性,不能往下层增加,否则缓存特效就美誉了,也就会重写这个文件,如果不想要这个缓存特性,则添加no-cache
vim testfile
This is wode coustom imags
:wq
vim dockerfile
FROM centos
RUN yum install net-tools -y
COPY testfile /
RUN yum install elinks -y
CMD ["/bin/bash"]
(6)容器的调试方法:
vim dockerfile
FROM busybox
RUN yum install net-tools -y
COPY testfile /
RUN yum install elinks -y
CMD ["/bin/bash"]
docker build -t haha:test ./
docker run -it 进入报错的上一个容器运行,然后并执行报错的命令,这是排除错误思路
(7)一次性容器运行
docker run -it e934aafc2206
添加:
docker文件的参数详解
vim dockerfile
FROM: 基础镜像
MAINTAINER:作者信息
COPY:src(host) dest(container)
ADD:拷贝到container同时解压
ENV:变量
ENV my_version 1.3
RNN yun install httpd-$my-version
EXPOSE:指定容器中的进程监听某个端口
VOLUME:目录文件映射到容器
WORKDIR:为后面所有的命令提供目录
RUN:容器运行的命令
CMD:容器启动时运行的命令(可被代替)
ENTRYPOINT:容器启动时的执行命令,只能有一个,不会被替换。
转载于:https://www.cnblogs.com/Leonardo-li/p/8822132.html
docker容器的构建相关推荐
- linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...
本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...
- 技术选型之Docker容器引擎
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | huashiou 来源 | https://s ...
- docker容器化python开发环境_如何 Docker 化 Python Django 应用程序
Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个 ...
- docker容器的标准使用过程_phpStorm中使用xdebug工具调试docker容器中的程序
最近使用了docker容器来构建项目,这种方式虽然极大的加快了构建的项目速度,但是也会对之前的本地开发带来一些挑战,比如今天讲到的调试程序,大家对于xdebug一定不会陌生,但是如果php-fpm放到 ...
- 为什么Docker容器将占领世界
为什么Docker容器将占领世界 我加入了bieryun,主持了一个关于Docker的网络研讨会,以及您可以使用容器将传统Windows应用程序迁移到云端以及运行开源无服务器平台. 我分享了Docke ...
- 基于Docker容器的,Jenkins、GitLab构建持续集成CI
** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...
- 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...
本节书摘来自异步社区<Docker容器:利用Kubernetes.Flannel.Cockpit和Atomic构建和部署>一书中的第2章,第2.2节,作者: [美]Christopher ...
- 《Docker——容器与容器云》:第五章 构建自己的容器云
我们在第1章介绍了一个云计算平台应有的层次结构,其中平台即服务层(PaaS)是本书重点着墨描述的.尽管在一些经典PaaS平台中,容器技术已经扮演了一个至关重要的角色,但很遗憾,大部分经典PaaS平台中 ...
- mysql容器操作_如何使用运行MySQL构建Docker容器?
我的目标是拥有一个具有运行MySQL服务的docker容器.所以每当我启动容器时,数据库都处于初始状态并且MySQL正在运行. 几乎一切都很好但是当我启动容器时MySQL服务没有运行.每次在控制台中我 ...
最新文章
- 基础SQL面试题(3)
- c#一种存储结构解决动态平衡问题
- 【程序员必看】如何用Python从0开始创建一个区块链?
- python元组 字符串 字典 习题+总结
- bzoj 3680 吊打xxx
- Java面向对象(16)--单例(Singleton)设计模式
- C语言变量声明和定义 - C语言零基础入门教程
- 安卓超过两行就加省略号_基础标点符号使用规则详解—8.省略号
- 下一个全排列_下一个排列
- 鸿蒙第一款手机,拿下“国内第一手机商”的OPPO,打算弃用华为鸿蒙?
- WordPress程序伪静态规则(Nginx/Apache)及二级目录规则
- excel匹配_「最全」Excel中查找匹配函数
- Dais-CMX系列现代计算机组成原理,dais版本计算机组成原理实验指导.doc
- 200以内的质数(python)
- FI财务会计全局设置
- opengl 知识点2
- 快速实现M5311NBIOT MQTT通信
- java项目编码问题解决
- Java并发的一些总结(面试须知)
- Java高级软件工程师面试考纲总结