(一)拉取nginx镜像

[root@Client my-nginx-web]# docker login  uhub.service.ucloud.cn   ##输入注册的账号密码

[root@Client my-nginx-web]#docker pull uhub.service.ucloud.cn/ucloud/nginx:1.28.2

(二)编写Dockerfile

[root@Client my-nginx-web]#vim Dockerfile

# 1. 基于官方 nginx 镜像

FROM nginx:latest

# 2. 删除默认网页

RUN rm -rf /usr/share/nginx/html/*

# 3. 拷贝自己的网页文件

COPY html/ /usr/share/nginx/html/

# 4. 暴露 80 端口

EXPOSE 80

(三)构建镜像

[root@Client my-nginx-web]# docker build -t my-nginx:v1  .

[+] Building 1.0s (8/8) FINISHED                                                                 docker:default

 => [internal] load build definition from Dockerfile                                                       0.0s

 => => transferring dockerfile: 309B                                                                       0.0s

 => [internal] load metadata for docker.io/library/nginx:latest                                            0.2s

 => [internal] load .dockerignore                                                                          0.0s

 => => transferring context: 2B                                                                            0.0s

 => [1/3] FROM docker.io/library/nginx:latest@sha256:7150b3a39203cb5bee612ff4a9d18774f8c7caf6399d6e8985e9  0.1s

 => => resolve docker.io/library/nginx:latest@sha256:7150b3a39203cb5bee612ff4a9d18774f8c7caf6399d6e8985e9  0.0s

 => [internal] load build context                                                                          0.0s

 => => transferring context: 397B                                                                          0.0s

 => [2/3] RUN rm -rf /usr/share/nginx/html/*                                                               0.3s

 => [3/3] COPY html/ /usr/share/nginx/html/                                                                0.0s

 => exporting to image                                                                                     0.2s

 => => exporting layers                                                                                    0.1s

 => => exporting manifest sha256:023551026d0ea95b58ce3f91a1270ca23ec72e02dd7f5ffecb73b1b4f0b5fc24          0.0s

 => => exporting config sha256:956df2b430849f6fec6a0cb3d94b5c2004e3e16b68928e554c3c4e3407b4bfbb            0.0s

 => => exporting attestation manifest sha256:aa6bf9285e03f8e7ceecccd922435e31f23061eb60efe9ef038ad94f716c  0.0s

 => => exporting manifest list sha256:f7b4d6a44636daafed06b13ea47e5a0806e8e1757610735ca4cd515dcecc1240     0.0s

 => => naming to docker.io/library/my-nginx:v1                                                             0.0s

 => => unpacking to docker.io/library/my-nginx:v1       

(四)查看构建的镜像

[root@Client my-nginx-web]# docker images

IMAGE                                            ID             DISK USAGE   CONTENT SIZE   EXTRA

centos:latest                                    a27fd8080b51        335MB         83.5MB    U  

centos:v1                                        2061d526cd3a        335MB         83.5MB    U  

my-nginx:v1                                      f7b4d6a44636        234MB           63MB       

nginx:latest                                     7150b3a39203        237MB         65.8MB       

(五)运行my-nginx:v1

[root@Client my-nginx-web]# docker run -d -p 8080:80 --name myweb my-nginx:v1

(六)访问网页

(七)进入容器

[root@Client my-nginx-web]# docker exec -it myweb /bin/bash

root@3877bac6520a:/# cat /usr/share/nginx/html/index.html

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>My Nginx Site</title>

</head>

<body>

    <h1>Hello Docker + Nginx!</h1>

    <p>这是我的自定义 Nginx 镜像。</p>

</body>

</html>

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐