(一)拉取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>