• Docker容器化技术(使用Dockerfile制作Nginx镜像)


    编写Dockerfile制作Web应用系统nginx镜像,生成镜像名为nginx:v1.1,并推送其到私有仓库。


        1、基于centos7基础镜像;
        2、指定作者为Chinaskill;
        3、安装nginx服务,将提供的dest目录传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
        4、暴露80端口;
        5、设置服务自启动。

     第一步:开机启动docker服务,编写Dockerfile

    1. [root@localhost nginx]# vim Dockerfile
    2. FROM centos:7
    3. MAINTAINER Chinaskill
    4. RUN yum install -y epel-release && yum install -y nginx
    5. COPY index.html /usr/share/nginx/html
    6. EXPOSE 80
    7. CMD ["nginx", "-g", "daemon off;"]

    第二步:创建nginx目录,切换到nginx目录输入nginx test page.到index.html文件中

    1. [root@localhost nginx]# ll
    2. total 4
    3. -rw-r--r--. 1 root root 177 Mar 14 17:58 Dockerfile
    4. [root@localhost nginx]# echo "nginx test page." > index.html
    5. [root@localhost nginx]#
    6. [root@localhost nginx]# ll
    7. total 8
    8. -rw-r--r--. 1 root root 177 Mar 14 17:58 Dockerfile
    9. -rw-r--r--. 1 root root 17 Mar 14 18:01 index.html

    第三步:构建nginx镜像

    1. [root@localhost nginx]# docker build -t reg.openlab.cn/opelab/nginx:v1 ./ --load
    2. [+] Building 5.0s (9/9) FINISHED docker-container:default
    3. => [internal] load build definition from Dockerfile 0.0s
    4. => => transferring dockerfile: 277B 0.0s
    5. => [internal] load metadata for docker.io/library/centos:7 2.4s
    6. => [internal] load .dockerignore 0.0s
    7. => => transferring context: 2B 0.0s
    8. => [1/3] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 0.0s
    9. => => resolve docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 0.0s
    10. => [internal] load build context 0.0s
    11. => => transferring context: 91B 0.0s
    12. => CACHED [2/3] RUN yum install -y epel-release && yum install -y nginx 0.0s
    13. => CACHED [3/3] COPY index.html /usr/share/nginx/html 0.0s
    14. => exporting to docker image format 2.5s
    15. => => exporting layers 0.0s
    16. => => exporting manifest sha256:8df860d4693fa88eda1d7eee03d585aef46080ec8485e64f4893e1f29ee06546 0.0s
    17. => => exporting config sha256:9e9b09d588cc320e6a3ba0c99f01137a6df98dd0308be9e613f0e20b1d5b263d 0.0s
    18. => => sending tarball 2.5s
    19. => importing to docker

    第四步:启动容器

    1. [root@localhost nginx]# docker run -d -P reg.openlab.cn/opelab/nginx:v1
    2. fe1369e8838c13dc0dd2cf9596ff175d9128034d65429d06dc2e7e363de38dfd
    3. [root@localhost nginx]# docker ps
    4. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    5. fe1369e8838c reg.openlab.cn/opelab/nginx:v1 "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:32768->80/tcp nervous_easley
    6. 2c14347c4f15 moby/buildkit:buildx-stable-1 "buildkitd" 15 minutes ago Up 15 minutes buildx_buildkit_default

    第五步:根据端口号到浏览器输入IP地址

    案例完成! 

  • 相关阅读:
    如何将现有的`Blazor`项目的主题切换写的更好看?
    图解LeetCode——1224. 最大相等频率(难度:困难)
    【Java】数组详解
    Win11的两个实用技巧系列之电脑死机解决办法
    Linux 下 Java 安装字体方法
    基于SSM SpringBoot vue家教交流平台
    Java编程实践:使用面向对象编程(OOP)概念构建简单的国际象棋游戏
    亮相2022南京软博会,创邻科技携Galaxybase图平台展现信创硬核实力
    1038 Recover the Smallest Number
    个人所得税思维导图参考 —— 筑梦之路
  • 原文地址:https://blog.csdn.net/m0_66011019/article/details/136718265