构建容器的方法:

(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容器的构建相关推荐

  1. linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...

    本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...

  2. 技术选型之Docker容器引擎

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | huashiou 来源 | https://s ...

  3. docker容器化python开发环境_如何 Docker 化 Python Django 应用程序

    Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个 ...

  4. docker容器的标准使用过程_phpStorm中使用xdebug工具调试docker容器中的程序

    最近使用了docker容器来构建项目,这种方式虽然极大的加快了构建的项目速度,但是也会对之前的本地开发带来一些挑战,比如今天讲到的调试程序,大家对于xdebug一定不会陌生,但是如果php-fpm放到 ...

  5. 为什么Docker容器将占领世界

    为什么Docker容器将占领世界 我加入了bieryun,主持了一个关于Docker的网络研讨会,以及您可以使用容器将传统Windows应用程序迁移到云端以及运行开源无服务器平台. 我分享了Docke ...

  6. 基于Docker容器的,Jenkins、GitLab构建持续集成CI

    ** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...

  7. 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...

    本节书摘来自异步社区<Docker容器:利用Kubernetes.Flannel.Cockpit和Atomic构建和部署>一书中的第2章,第2.2节,作者: [美]Christopher ...

  8. 《Docker——容器与容器云》:第五章 构建自己的容器云

    我们在第1章介绍了一个云计算平台应有的层次结构,其中平台即服务层(PaaS)是本书重点着墨描述的.尽管在一些经典PaaS平台中,容器技术已经扮演了一个至关重要的角色,但很遗憾,大部分经典PaaS平台中 ...

  9. mysql容器操作_如何使用运行MySQL构建Docker容器?

    我的目标是拥有一个具有运行MySQL服务的docker容器.所以每当我启动容器时,数据库都处于初始状态并且MySQL正在运行. 几乎一切都很好但是当我启动容器时MySQL服务没有运行.每次在控制台中我 ...

最新文章

  1. 基础SQL面试题(3)
  2. c#一种存储结构解决动态平衡问题
  3. 【程序员必看】如何用Python从0开始创建一个区块链?
  4. python元组 字符串 字典 习题+总结
  5. bzoj 3680 吊打xxx
  6. Java面向对象(16)--单例(Singleton)设计模式
  7. C语言变量声明和定义 - C语言零基础入门教程
  8. 安卓超过两行就加省略号_基础标点符号使用规则详解—8.省略号
  9. 下一个全排列_下一个排列
  10. 鸿蒙第一款手机,拿下“国内第一手机商”的OPPO,打算弃用华为鸿蒙?
  11. WordPress程序伪静态规则(Nginx/Apache)及二级目录规则
  12. excel匹配_「最全」Excel中查找匹配函数
  13. Dais-CMX系列现代计算机组成原理,dais版本计算机组成原理实验指导.doc
  14. 200以内的质数(python)
  15. FI财务会计全局设置
  16. opengl 知识点2
  17. 快速实现M5311NBIOT MQTT通信
  18. java项目编码问题解决
  19. Java并发的一些总结(面试须知)
  20. Java高级软件工程师面试考纲总结

热门文章

  1. 使用VC编写VB使用DLL
  2. mysql 安装 安全错误_MySQL的安全问题从安装开始说起
  3. JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
  4. Android基础(三) UI开发 Part 1
  5. 熟悉一下oncontextmenu事件的知识
  6. Linq 常用操作(增删改)
  7. Docker logs 命令
  8. centos6.5 设置ssh无密码登录
  9. 数据库监听。数据库一次notify,Activity多次接收
  10. Android Studio项目转Eclipse项目