1、运行一个nginx容器,将/usr/share/nginx/html/index.html的内容修改为自己的名字拼音,基于这个容器构建一个镜像,运行这个新镜像,将主机端口8000映射到客器80端口,访问主机8000端口,给出输出结果。
2、以nginx为基础镜像,编写Dockerfile,实现第一题同样的效果,并运行这个镜像创建容器,给出输出结果。
3、以第二题的镜像为基础镜像,给它添加LABEL (key: xingming, value:自己名字拼音),给它添加一个环
境变量(key: xingming, value:自己名字拼音),同时在docker主机创建一个以自己名字拼音命名的文件,将它复制到容器根目录下,运行这个镜像输出这个文件夹的内容和dockerfile截图
在docker中基于容器构建镜像
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
檀越@新空间 2025-05-12 17:22关注下午好🌅🌅🌅
本答案参考通义千问第一题:基于运行的容器构建镜像
步骤:
-
运行一个 nginx 容器: 使用
docker run启动一个 nginx 容器,并进入容器修改/usr/share/nginx/html/index.html文件内容。 -
提交容器为新的镜像: 使用
docker commit提交容器为一个新的镜像。 -
运行新镜像并映射端口: 使用
docker run运行新镜像,并将主机的 8000 端口映射到容器的 80 端口。 -
验证结果: 在浏览器或使用
curl访问主机的 8000 端口。
解决方案:
-
运行 nginx 容器:
docker run -d --name my-nginx nginx -
进入容器并修改文件:
docker exec -it my-nginx bash echo "你的名字拼音" > /usr/share/nginx/html/index.html exit -
提交容器为新镜像:
docker commit my-nginx yourname/nginx-custom -
运行新镜像并映射端口:
docker run -d -p 8000:80 --name new-nginx yourname/nginx-custom -
验证结果: 打开浏览器访问
http://localhost:8000或使用以下命令:curl http://localhost:8000输出应显示你修改的名字拼音。
第二题:编写 Dockerfile 构建镜像
步骤:
-
创建 Dockerfile: 编写一个 Dockerfile,基于 nginx 镜像,修改默认的 index.html 文件内容。
-
构建镜像: 使用
docker build构建镜像。 -
运行镜像并映射端口: 使用
docker run运行镜像,并将主机的 8000 端口映射到容器的 80 端口。 -
验证结果: 在浏览器或使用
curl访问主机的 8000 端口。
解决方案:
-
创建 Dockerfile: 创建一个名为
Dockerfile的文件,内容如下:FROM nginx:latest RUN echo "你的名字拼音" > /usr/share/nginx/html/index.html -
构建镜像:
docker build -t yourname/nginx-dockerfile . -
运行镜像并映射端口:
docker run -d -p 8000:80 --name new-nginx-dockerfile yourname/nginx-dockerfile -
验证结果: 打开浏览器访问
http://localhost:8000或使用以下命令:curl http://localhost:8000输出应显示你修改的名字拼音。
第三题:扩展镜像并添加额外配置
步骤:
-
基于第二题的镜像创建新的 Dockerfile: 添加 LABEL、环境变量和文件复制功能。
-
构建镜像: 使用
docker build构建镜像。 -
运行镜像并查看文件: 使用
docker run运行镜像,并进入容器查看文件内容。 -
截图 Dockerfile: 提供 Dockerfile 的截图。
解决方案:
-
创建新的 Dockerfile: 创建一个名为
Dockerfile的文件,内容如下:FROM yourname/nginx-dockerfile LABEL xingming="你的名字拼音" ENV xingming="你的名字拼音" COPY 你的名字拼音.txt /root/注意:确保
你的名字拼音.txt文件已经存在于当前目录。 -
构建镜像:
docker build -t yourname/nginx-extended . -
运行镜像并查看文件:
docker run -it --rm yourname/nginx-extended bash cat /root/你的名字拼音.txt输出应显示文件内容。
-
截图 Dockerfile: 将上述 Dockerfile 的内容截图保存。
通过以上步骤,你可以完成题目中的所有要求,并验证每个步骤的结果。
评论 打赏 举报解决 1无用-