Dockerfile构建镜像 +基本命令

我们dockerfile指定基础镜像、以及对基础镜像更改的操作!CMD

我们一般构建镜像选择的都是系统基础镜像:centos、ubuntu 、alpine

 基于centos7镜像做一个httpd:1.1镜像   简单的基本构建

--FROM 基于某个基础镜像,必须为第一个命令

--RUN  基于构建镜像执行的命令

--CMD 容器启动时执行的命令

[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir httpd
[root@localhost opt]# cd httpd
root@localhost opt]# vim dockerfile
FROM centos:7
RUN  yum -y install httpd
CMD  httpd -DFOREGROUND
[root@localhost httpd]# docker build -t htppd:1.2 ./
[root@localhost httpd]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
httpd        1.2       710b0c1987b9   15 minutes ago   360MB
12.2.1       latest    4f380adfc10f   11 days ago      133MB
nginx        latest    4f380adfc10f   11 days ago      133MB
mysql        5.7       09361feeb475   11 days ago      447MB
centos       7         8652b9f0cb4c   7 months ago     204MB

基于centos7镜像做一个nginx镜像  基本·构建

ADD 指令和 COPY 的格式和性质基本一致,但是在 COPY 基础上增加了一些功能 ADD 指令将会自动解压缩这个压缩文件到 <目标路径> 去

[root@localhost opt]# mkdir nginx
[root@localhost nginx]# vim dockerfile
FROM centos:7
ADD nginx-1.12.2.tar.gz /opt/nginx
RUN yum install gcc gcc-c++ make zlib-devel pcre-devel -y \
    && cd /opt/nginx/nginx-1.12.2  \
    && ./configure --prefix=/usr/local/nginx \
    && make \
    && make install
CMD ["/usr/local/nginx/","-g","daemon off;"]
[root@localhost nginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
nginx        12.1      e674bdbb1082   2 minutes ago    446MB
httpd        1.2       710b0c1987b9   43 minutes ago   360MB

FROM              指定基础镜像    
RUN                镜像内部要执行的命令

COPY            复制文件到镜像中
ADD             复制、加压(tar)、下载文件到镜像中
WORKDIR         指定当前目录
USER            指定当前用户
VOLUME          配置挂载点
EXPOSE          配置默认暴露端口
ENV             配置环境变量
CMD             配置容器启动时要执行的命令,在docker run时可以被覆盖
ENTRYPOINT      配置容器启动时要执行的命令,在docker run时不可以被覆盖
HEALTHCHECK     对容器内部做健康检查 

COPY            复制文件到镜像中

copy  将本地文件复制到镜像中

扫描二维码关注公众号,回复: 13465615 查看本文章

USER 指定当前用户 这个用户必须是事先建立好的,否则无法切换

FROM centos:7
ADD nginx-1.12.2.tar.gz /opt/nginx
RUN yum install gcc gcc-c++ make zlib-devel pcre-devel -y \
    && cd /opt/nginx/nginx-1.12.2  \
    && ./configure --prefix=/usr/local/nginx \
    && make \
    && make install
USER JACK
COPY/opt/nginx/  index.html  /usr/local/nginx/html/index.html                
CMD ["/usr/local/nginx/","-g","daemon off;"]

猜你喜欢

转载自blog.csdn.net/m0_52454621/article/details/118464736