博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制作自己的镜像(二)
阅读量:6819 次
发布时间:2019-06-26

本文共 2006 字,大约阅读时间需要 6 分钟。

hot3.png

制作自己的镜像(二)

使用dockerfile

docker commit方式创建镜像比较直观.但是不容易分发共享.还有种方法比较常用,就是使用dockerfile

新建两个目录,创建两个文件

[root@srv00 ~]# mkdir df && cd df[root@srv00 df]# cat nginx.repo [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1[root@srv00 df]# cat Dockerfile FROM centos:latestMAINTAINER hippo 
COPY nginx.repo /etc/yum.repos.d/RUN yum install -y nginx && echo "daemon off;" >> /etc/nginx/nginx.conf EXPOSE 80CMD ["nginx"]

Dockerfile是默认文件名,docker build -f来指定自定义文件 一行一条指令.有点像shell. FROM基于哪个镜像.MAINTAINER维护者信息.COPY将本地文件copy到镜像目录中. RUN在镜像中运行的命令. EXPOSE暴露端口号给外部映射.CMD如果运行容器会执行的命令.(控制台执行.不然容器会马上退出).

运行docker build

[root@srv00 df]# docker build -t hippo/nginx:v1 .Sending build context to Docker daemon 3.072 kBStep 1 : FROM centos:latest ---> 8596123a638eStep 2 : MAINTAINER hippo 
---> Using cache ---> c04988102337Step 3 : COPY nginx.repo /etc/yum.repos.d/ ---> 840a6358f3d1Removing intermediate container 8cb81de3f7e9Step 4 : RUN yum install -y nginx && echo "daemon off;" >> /etc/nginx/nginx.conf ---> Running in 5a27d8a4bc77Loaded plugins: fastestmirror, ovl......Complete! ---> 45b53927ed9aRemoving intermediate container 5a27d8a4bc77Step 5 : EXPOSE 80 ---> Running in f022d6097efa ---> 29429605ebc7Removing intermediate container f022d6097efaStep 6 : CMD nginx ---> Running in c7faa5042715 ---> 2e1513eeaa0aRemoving intermediate container c7faa5042715Successfully built 2e1513eeaa0a

每条指令都相当于git commit一次.

运行测试下

[root@srv00 df]# docker run -d -p 80 hippo/nginx:v1dead20777b6c1609ab968966b3589904d44f8a12c124c178fd5cb540052cce6f[root@srv00 df]# docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMESdead20777b6c        hippo/nginx:v1      "nginx"                  11 seconds ago      Up 8 seconds        0.0.0.0:32771->80/tcp     gloomy_cray[root@srv00 df]# curl -L localhost:32771Welcome to nginx!......

//END

转载于:https://my.oschina.net/hippora/blog/678679

你可能感兴趣的文章
安装Sublime Text 2插件的方法
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Kubernetes NFS存储服务的误报
查看>>
meta设置
查看>>
sed 行编辑器知识汇总
查看>>
nginx升级OpenSSL
查看>>
C++中Timer的用法
查看>>
报表软件JS开发引用HTML DOM的location和document对象
查看>>
Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法
查看>>
《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串...
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
Linux下定时切割Nginx访问日志并删除指定天数前的日志记录
查看>>
zabbix 监控项目
查看>>
跨交换机实现VLAN
查看>>
Python的"print"函数在“Hello World”之外的延伸
查看>>
计划任务
查看>>
获取无序数组中第n大的数及快速排序算法使用
查看>>
我的友情链接
查看>>
MongoDB复制集原理
查看>>