基于docker的centos:latest镜像制作nginx的镜像

时间:2021-02-25 03:06:59

Dockerfile和nginx.repo在同一目录下

先创建nginx.repo

[root@localhost nginx]# cat nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@localhost nginx]# ls
Dockerfile nginx.repo

  

写dockerfile

[root@localhost nginx]# cat Dockerfile
# This is My first Dockerfile
# Version 1.0
# Author: Liuzhengwei
# Base images
FROM centos:base_newlatest
MAINTAINER mail:1135960569@qq.com
ADD nginx.repo /etc/yum.repos.d
RUN yum install nginx -y
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN useradd -s /sbin/nologin -M www
EXPOSE 80
CMD ["nginx"]

  

创建镜像:

[root@localhost nginx]# docker build -t nginx-file:v1 .
......
Removing intermediate container 57b75e5a35e7
Step 8/8 : CMD nginx
---> Running in 062fddcc03ed
---> f4a750280b72
Removing intermediate container 062fddcc03ed
Successfully built f4a750280b72

  

运行此镜像:

[root@localhost nginx]# docker run -d -p 80 nginx-file:v1
6e43d596879c2b67fc74143957ef914ef842d78046812717919e576a629f694c

  

查看容器是否启动正常:

[root@localhost nginx]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e43d596879c nginx-file:v1 "nginx" 7 minutes ago Up 7 minutes 0.0.0.0:32774->80/tcp sleepy_shannon

  

进入此容器:

[root@localhost nginx]# docker exec -it 6e43d596879c bash
[root@6e43d596879c /]# ps -ef | grep nginx
root 1 0 0 15:58 ? 00:00:00 nginx: master process nginx
nginx 7 1 0 15:58 ? 00:00:00 nginx: worker process

  

实际示例:

[root@master01 nginx]# ls
Dockerfile fashion_bi_dev.conf nginx.repo web-fashion-bi

  

[root@master01 nginx]# cat Dockerfile
# This is My first Dockerfile
# Version 1.0
# Author: Liuzhengwei
# Base images
FROM centos
MAINTAINER mail:1135960569@qq.com WORKDIR / RUN mkdir data ADD nginx.repo /etc/yum.repos.d
RUN yum install nginx -y
RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN rm -rf /etc/nginx/conf.d/default.conf ADD fashion_bi_dev.conf /etc/nginx/conf.d/ COPY web-fashion-bi /data/web-fashion-bi RUN useradd -s /sbin/nologin -M www
EXPOSE 80
CMD ["nginx"]

  

docker build -t nginx-file:v6 .

docker run -d -p 80 nginx-file:v6

  

[root@master01 nginx]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
46fc3f005313 nginx-file:v6 "nginx" 2 minutes ago Up 2 minutes 0.0.0.0:32773->80/tcp distracted_lovelace

  

基于docker的centos:latest镜像制作nginx的镜像