进入docker容器内部修改 nginx 主页显示内容

先做好准备工作,启动好docker运行 nginx容器

docker创建并运行一个 nginx 容器 【简单保姆级别】

进入容器内部,命令为:

docker exec -it containerNginx bash

命令简单解读:

  • docker exec : 进入容器内部,执行一个命令
  • -it :给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • containerNginx :创建容器是取的容器名称
  • bash :进入容器后执行的命令,bash是一个Linux终端交互命令

进入之后:

docker logs 分页显示 docker主页_nginx

执行 ls 命令,可以看到在容器内部是一个类似于Linux文件系统的目录结构

docker logs 分页显示 docker主页_html_02

但是我们如果想很快速的找到 nginx 主页文件的位置需要去 docker hub 上 nginx 的介绍页面,找到对应文件路径:

docker logs 分页显示 docker主页_linux_03

cd /usr/share/nginx/html  # cd命令进入对应文件夹

docker logs 分页显示 docker主页_linux_04

可以看到确实是在这个位置,但是由于这个镜像系统是个阉割的 linux 环境,没有 vi 编辑命令,所以我们无法使用 vi 命令对其修改。

但是我们可以使用 sed 命令,对 index.html 文档内容做个简单替换

sed -i 's#Welcome to nginx#范大将军锐评国足#g' index.html
sed -i 's#<p>If you see this page, the nginx web server is successfully installed and# #g' index.html
sed -i 's#working. Further configuration is required.</p># #g' index.html
sed -i 's#<p>For online documentation and support please refer to#你说职能部门,职能部门一届一届一届换了多少个足球协会主席了,改过吗啦?换汤不换药啊!人家马乔也有理由说的:“我(曾经)带的是什么队,我带的西班牙队,你这批人是什么人啊,你叫我带?!”中国足球现在什么水平?就这么几个人,你赵鹏什么的都在踢中卫他能踢吗?踢不了 没这个能力知道吗?再下去(的话)要输越南了,泰国队输完输越南,再输缅甸,接下来没人输了。#g' index.html
sed -i 's#<a href="http://nginx.org/">nginx.org</a>.<br/># #g' index.html
sed -i 's#Commercial support is available at#<br/> #g' index.html
sed -i 's#<a href="http://nginx.com/">nginx.com</a>.</p>#另一方面来说,中国队是备战2018世界杯最早的队伍。#g' index.html
sed -i 's#Thank you for using nginx.#哦呦,谢天谢地了,呵~,(我已经说了)你这样的比赛本身就没有打好基础,你能跟我保证在17年或者16年这样关键的比赛他能赢啊?务实一点,我劝你们,我把自己战术打法足球的这个理念先搞懂,小高带的蛮好的,你把他去换了干什么(你告诉我)?你在合肥输个1:5,你到告诉我,怎么解释呢?<br/>脸都不要了#g' index.html
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html

命令执行完成查看效果:

docker logs 分页显示 docker主页_docker logs 分页显示_05


一个简单的主页修改就完成啦🐮,看到这里的各位大佬给个👍吧,⚽⚽啦