(一)生产环境
[root@hp-uas01~]# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product"
Manufacturer: HP
Product Name: ProLiant DL380 Gen9
[root@hp-hp-uas01 ~]# uname -a
Linux linux-node2 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@hp-uas01 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@hp-uas01~]# docker --version
Docker version 18.03.1-ce, build 9ee9f40
(二)构建镜像
1、基础镜像:
$docker pull centos
$docker run -dit --name nginx_v1 centos /bin/bash
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ff0b0eee01 centos "/bin/bash" 3 minutes ago Up 3 minutes nginx_v1
e99ceea5c674 hello-world "/hello" 2 days ago Exited (0) 2 days ago cranky_euler
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
nmsadm/nginx_v1 v2 7adc249e5fce 9 minutes ago 352MB##安装nginx
hello-world latest e38bc07ac18e 4 weeks ago 1.85kB
centos latest e934aafc2206 4 weeks ago 199MB
[root@linux-node2 ~]# docker start 4137a5511559
4137a5511559
[root@linux-node2 ~]# docker attach 4137a5511559
[root@4137a5511559 /]# vi /etc/nginx/nginx.conf
修改/etc/nginx/nginx.conf添加daemon off;(前台执行)
[root@linux-node2 ~]# docker commit -m "nginx_front" 4137a5511559 nmsadm/nginx_front:v1 #创建镜像
sha256:a90b84340157fcc7b78ac6816e3e80df73ba1f7c768ddab56ff6d84cd8e28d81
$dcoker image list
-bash: dcoker: command not found
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
nmsadm/nginx_front v1 a90b84340157 11 seconds ago 352MB
nmsadm/nginx_v1 v2 7adc249e5fce 11 minutes ago 352MB
hello-world latest e38bc07ac18e 4 weeks ago 1.85kB
centos latest e934aafc2206 4 weeks ago 199MB
$docker run -d --name "nginx_front" nmsadm/nginx_front:v1 nginx
d5fe125cc0f2e50ef097fa0e6cbab9c44dd670c1632142e5b5428cb17a76147a
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d5fe125cc0f2 nmsadm/nginx_front:v1 "nginx" 8 seconds ago Up 8 seconds 80/tcp nginx_front
4137a5511559 nmsadm/nginx_v1:v2 "/bin/bash" 5 minutes ago Exited (0) 2 minutes ago agitated_montalcini
05dccdf6133c centos "/bin/bash" 22 minutes ago Exited (0) 14 minutes ago nginx_v1
e99ceea5c674 hello-world "/hello" 2 days ago Exited (0) 2 days ago cranky_euler
(三)dockerfile构建镜像
四要素1、基础镜像信息2、维护者信息3、镜像操作指令4、容器启动时指令;
Dockerfile语法结构
描述
FROM
基础镜像(centos7)
MAINTAINER
名称 邮箱
RUN
安装需要的包
ADD
添加文件ADD . /app拷贝当前目录内容到app目录
WORKDIR
设置工作目录(可指定应用的目录)
VOLUME
目录挂载
EXPOSE
对外开放的端口(比如WEB服务需要开放80端口)
RUN
docker中运行的应用
ENV
 NAME World定义环镜变量
$ more Dockerfile
#This is first dockerfile
#Version v1
#Author:anline
#Base iamge
FROM centos
MAINTAINER test test@sina.com
RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y nginx
ADD index.html /usr/share/nginx/html/indel.html
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx"]
$docker build -t nginx_dockerfile:v1 /dockfile
Sending build context to Docker daemon 3.072kB
Step 1/9 : FROM centos
---> e934aafc2206
Step 2/9 : MAINTAINER anline anline5104@sina.com
---> Running in 7e6ea367066e
Removing intermediate container 7e6ea367066e
---> 58b92b9d405c
---> Running in f2507113912a
warning: /var/tmp/rpm-tmp.EBnqJJ: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Retrieving https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
Preparing... ########################################
Updating / installing...
epel-release-7-11 ########################################
Removing intermediate container f2507113912a
---> b9fe6bf3b36a
Step 4/9 : RUN yum install -y nginx
---> Running in 64d809002500
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
* base: mirrors.shu.edu.cn
* epel: mirrors.tongji.edu.cn
* extras: mirrors.njupt.edu.cn
* updates: mirrors.shu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.12.2-2.el7 will be installed
........
perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx_dockerfile v1 a917bf2cb33f 12 seconds ago 371MB
nmsadm/nginx_front v1 a90b84340157 About an hour ago 352MB
nmsadm/nginx_v1 v2 7adc249e5fce About an hour ago 352MB
hello-world latest e38bc07ac18e 4 weeks ago 1.85kB
centos latest e934aafc2206 4 weeks ago 199MB
$docker run -d -p 83:80 nmsadm/nginx_dockerfile:v1
e0a5e59f47f7c15ed8e4be247d5962d6985f65142a73c1b8b00184b4796dbb74
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0a5e59f47f7 nmsadm/nginx_dockerfile:v1 "nginx" 3 minutes ago Exited (1) 1 second ago keen_tereshkova
d5fe125cc0f2 nmsadm/nginx_front:v1 "nginx" 19 hours ago Exited (0) 18 hours ago nginx_front
4137a5511559 nmsadm/nginx_v1:v2 "/bin/bash" 19 hours ago Exited (0) 19 hours ago agitated_montalcini
05dccdf6133c centos "/bin/bash" 19 hours ago Exited (0) 19 hours ago nginx_v1
e99ceea5c674 hello-world "/hello" 3 days ago Exited (0) 3 days ago cranky_euler
使用新构建的镜像启动容器,但是启动就退出。检查一下容器的报错的LOG
$docker logs e0a5e59f47f7
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
需要修改nginx的配置文件:
将 listen 80 default_server;
listen [::]:80 default_server;
listen 80;
# listen [::]:80 default_server;
修改Dockerfile内容:
#This is first dockerfile
#Version v1
#Author:anline
#Base iamge
FROM centos
MAINTAINER test test@sina.com
RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y nginx
ADD index.html /usr/share/nginx/html/indel.html
RUN sed -i '39,40d' /etc/nginx/nginx.conf
RUN sed -i '38 alisten 80;' /etc/nginx/nginx.conf
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx"]
$docker run -d -p 808:80 nmsadm/nginx_dockerfile:v1
2f9ab83be035dd384350d22d1e46347ac35afa94444f0ad38e1f9e938d1875a0
验证:
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2f9ab83be035 nmsadm/nginx_dockerfile:v1 "nginx" 3 seconds ago Up 2 seconds 0.0.0.0:808->80/tcp happy_bartik
49b1005174b2 nmsadm/nginx_dockerfile:v1 "nginx" 2 minutes ago Exited (0) 13 seconds ago confident_montalcini
d5fe125cc0f2 nmsadm/nginx_front:v1 "nginx" 20 hours ago Exited (0) About an hour ago nginx_front
4137a5511559 nmsadm/nginx_v1:v2 "/bin/bash" 20 hours ago Exited (0) 6 minutes ago agitated_montalcini
05dccdf6133c centos "/bin/bash" 21 hours ago Exited (0) 20 hours ago nginx_v1
e99ceea5c674 hello-world "/hello" 3 days ago Exited (0) 3 days ago cranky_euler

转载于:https://www.cnblogs.com/icerain0/p/9030377.html

三、docker镜像创建相关推荐

  1. Docker笔记三 Docker镜像制作

    Docker笔记三 Docker镜像制作 1.Docker镜像制作方法: docker commit 保存当前container的状态到镜像,生成p_w_picpath. docker build 利 ...

  2. docker镜像创建与优化

    1 . 创建镜像 有两种方法构建镜像: docker commit :将运行的容器保存成镜像 Dockerfile:自动构建 使用docker commit 创建镜像分为三步: 运行容器 修改容器 将 ...

  3. Docker学习(三)-----Docker镜像常用命令

    六.Docker镜像 镜像是Docker的三大组件之一 Docker运行容器前需要本地存在对应的镜像,如果本地不存,Docker会从镜像仓库下载 6.1Docker获取镜像 6.1.1查找镜像 我们可 ...

  4. Docker镜像创建,拉取以及推送

    本篇文章主要讲述如何创建镜像,拉取镜像以及推送镜像到自己的仓库中. 创建镜像 创建镜像有两种方式: docker commit 构建容器 docker build 使用Dockerfile文件来构建 ...

  5. docker镜像创建及使用

    目录 1.创建镜像所在文件夹和Dockerfile文件 2.创建镜像 3.根据创建好的镜像中创建容器 4.docker cp :用于容器与主机之间的数据拷贝 创建镜像[使用Dockerfile] 1. ...

  6. Docker学习(三)-----Docker镜像和仓库了解以及加速

    镜像(Image)是构建容器的基础,镜像是一种分层结构的文件系统.我们可以从仓库(Repository)中下载镜像,而仓库又保存在Registry中,Docker Hub是Docker官方提供的Reg ...

  7. Docker镜像创建的三种方式详解——dockerfile制作apache镜像

    基于已有的镜像容器进行创建 [root@localhost opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM ...

  8. github上docker镜像创建容器

    docker介绍 三个概念 1.镜像:类似于模版,在没有添加实例化前不能使用. 2.容器:镜像实例化. 3.docker:放容器的一个载体. 总结:docker就像一艘船,上面放的容器就是集装箱(co ...

  9. docker镜像创建redis5.0.3容器集群

    拉取redis5.0.3镜像 # docker pull daocloud.io/library/redis:5.0.3 [root@localhost ~]# docker pull daoclou ...

最新文章

  1. 近期Freecodecamp问题总结
  2. 20190429 照片里面的GPS信息确实会暴露经纬度
  3. 王宏计算机系,王宏健(副教授)
  4. MATLAB Simulink中如何实现锁相环
  5. Java 第7章 数组
  6. 把 JavaScript 放置到何处
  7. vue程序中组件间的传值方式
  8. matlab2010a中文,MATLAB 2010a解决中文字体乱码的方法
  9. ctf php沙箱,详谈CTF中常出现的PHP反序列化漏洞
  10. 自媒体内容泛滥,同质化严重!用户已审美疲劳
  11. 帝国CMS7.5全新后台 仿搜外问答模板 整站带演示数据源码
  12. Java SE(排序)
  13. 计算机毕业设计ssm基于协同过滤的图书馆图书推荐系统9xpkg系统+程序+源码+lw+远程部署
  14. [__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a97d4c0'报错
  15. 千名德国基尔居民测试疫情警报手环
  16. [Android]挂断、接听电话
  17. web前端工资一般多少?在北京前端工程师多少钱一个月?
  18. 鸿蒙OS尝新版,华为鸿蒙系统最新版-华为鸿蒙系统os2.0官方版-华为harmonyos公测-游人手游网...
  19. c++使用ado访问数据库
  20. python学习(三):web网页框架Django,成就python全栈开发

热门文章

  1. 计算机桌面输入法怎么恢复,图文详解如何恢复输入法图标
  2. 大数定律及中心极限定理
  3. Tableau 凹凸图、雷达图
  4. c语言中双星号,C中的双星号和`malloc`
  5. python dictionary排序_对Python的字典进行排序
  6. Python数据压缩和存档——zlib/gzip/bzip2/lzma/zip/tar
  7. project 2003
  8. 【超级详细的Mysql入门到进阶】
  9. 数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 链接:https://www.365jz.com/article/24504 著作权归作者
  10. APS携手纺织业走出低迷寒冬