[技术干货] 使用dockerfile创建镜像

[复制链接]
乐维 发表于 2020-3-2 18:25:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Dockerfile是一个文本格式的配置文件, 用户可以使用Dockerfile 来快速创建自定义的镜像。Dockerfile主体内容分为四部分,基础镜像信息、维护者信息、镜像操作指令和启动是执行指令。

[size=11.0000pt]1. Dockerfile的基本指令
指令
语法 || 解释 || 实例
FROM
指定基础的镜像(必须是第一条指令)
MAINTAINER
指定维护者信;
格式:MAINTAINER <user_name> < user_email>  
RUN
用来执行命令行的命令。一个dockerfile文件不得超过127层,
可以通过使用’\’换行和使用‘&&’来减少层数,这样文件大小会小点;
语法:RUN <命令>
实例:
RUN yum install -y httpd \
    && useradd www -s /sbin/nologin -M
ADD
高级的复制文件,跟copy命令差不多,但是增加了一些功能,如果复制的是压缩包的话,会直接解压,;
语法:ADD <复制文件> <dest目录>
实例:ADD nginx-1.4.0.tar.gz  /tmp  #把nginx-1.4.0.tar.gz复制到/tmp目录下,并解压。
CMD
容器启动命令;
Shell语法:CMD <命令>
Exec语法:CMD ["可执行文件", "参数1", "参数2"...]
EXPOSE
对外暴露的端口,声明运行容器多提供的端口。
语法:EXPOSE <PORT1>  [<PORT2>]
WORKDIR
指定工作目录;
语法:WORKDIR <目录>
ENV
设置环境变量;
语法1:ENV <key> <value>
语法2:ENV <key1>=<value1> <key2>=<value2>
VOLUME
是指创建在本地主机或其他容器可以挂载的数据卷,用来存放数据;
语法:VOLUME ["/data"]


[size=11.0000pt]2. 编写Dockerfile文件
# mkdir /root/mynginx
# cd  /root/mynginx
# vim Dockerfile
1.png
2.jpg

[size=11.0000pt]3. Dockerfile构建镜像和启动服务
# PS:构建nginx镜像是必须要操作系统的镜像,本文是使用centos:centos7,可以通过docker pull centos:centos7 指令下载。
# cd /root/mynginx
# ls -l
3.png
# docker build -t mynginx:v1 .                                
#后面有个点表示当前目录(出现2successfully则表示构建成功);
4.png

# docker images                        #查看镜像
5.png

# docker run -d -it -p 80:80 --name  nginx  mynginx:v1
6.png
#这时是访问不了web页面的,需要进入到容器启动nginx就可以了。

# docker exec -it 7d9088659f40 /bin/bash
# /usr/local/nginx-1.14.0/sbin/nginx
# ps -ef | grep nginx
7.png

# 此时访问nginx就可以访问成功
8.png

更多技术问题,欢迎进群交流177428068





上一篇:zabbix 结合windows性能监控工具perfmon进行监控
下一篇:“专家坐诊”第49期问答汇总
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子135

发布主题
最新发布

乐维社区

微信公众号

版权所有 © 2016-2019 九一乐维丨粤ICP备17007026号-2