Dockerfile构建简单nginx镜像

首先以下是一些环境信息

[root@dockertest opt]# docker info
Server Version: 19.03.13
 Storage Driver: overlay2
  Backing Filesystem: xfs
Kernel Version: 3.10.0-957.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 1.777GiB

我的Dockerfile和niginx源码包都在/opt目录下

[root@dockertest opt]# ls
containerd  Dockerfile  nginx-1.12.2.tar.gz  rh

以下是Dockerfile内容

[root@dockertest opt]# vim Dockerfile
FROM centos:7             #基于centos7系统构建

LABEL MAINTAINER='s******e'    #指定元数据,作者、版本等

RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel          #nginx和make需要的一些依赖包

RUN  useradd -r -M -s /sbin/nologin nginx   #创建系统用户nginx,-r表示创建系统用户,限制uid和gid范围

ADD nginx-1.12.2.tar.gz /opt   #解压缩源码包到/opt下

WORKDIR /opt/nginx-1.12.2   #切换工作目录为/opt/nginx-1.12.2

RUN ./configure --prefix=/usr/local/nginx --with-http_ssl_module  #配置nginx,这里指定安装目录和ssl模块,模块根据具体需求

RUN make&&make install  #编译安装

WORKDIR /usr/local/nginx   #指定容器的默认工作目录/usr/local/nginx,其实又切换了一次目录

EXPOSE 80    #声明容器端口为80,这里只是声明,启动容器的时候需要指定具体暴露端口

CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]

这里重点说下CMD这里
对于nginx来说,如果仅仅安装完之后执行/usr/local/nginx/sbin/nginx让他启动,他启动完之后就退出,容器不会运行,加了-g daemon off;之后就是不让他在后台运行,那么容器就不会退出,注意off后不要少了分号

如果一定要写CMD ["/usr/local/nginx/sbin/nginx"]
可以用以下方式启动容器

docker run -p 80:80 -d nginx:3.0 /usr/local/nginx/sbin/nginx -g "daemon off;"

开始构建(注意最后有个.,省略一大段构建过程,成功会有successfully)

[root@dockertest opt]# docker build -t nginx:3.0 .

查看镜像

[root@dockertest opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               3.0                 f6fc2bb76200        27 minutes ago      438MB
centos              7                   8652b9f0cb4c        7 months ago        204MB

运行容器

[root@dockertest opt]# docker run -p 80:80 -d nginx:3.0
0f146fe7989561e11ab35ce8a8082136ed971dfbb8c342252252558345e409b8

查看容器运行状态

[root@dockertest opt]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                     PORTS                         NAMES
0f146fe79895        nginx:3.0           "/usr/local/nginx/sb…"   About a minute ago   Up About a minute          0.0.0.0:80->80/tcp          

宿主机访问主页
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值