赞
踩
docker exec -it containerName bash
docker exec:进入容器内部,执行一个命令
-it
:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互(实际上就是利用键盘的录入和控制台的输出进行交互)
containerName
:要进入的容器名称
bash
:进入容器后执行的命令,bash是一个linux终端交互命令(如cd、mv),使用bash命令进入容器后就可以使用该容器的专属LInux终端了
docker exec -it my-nginx bash
容器内部会有一套自己的文件系统,看起来和Linux的根目录很像,但其实它是一个阉割版的系统,这里只有Nginx运行它自己需要的
正常我们应该去官网查看的,这是我之前访问的截图
但是现在 Doker Hub 已经进不去了,我们可以通过命令来查找
whereis nginx
不过这样肯定是有弊端的,会给我们找到好几个目录,我们只好自己去试试了,最后发现在
/usr/share/nginx/html
目录中有 index.html 文件
切换目录
cd /usr/share/nginx/html
镜像封装时只是封装了nginx必备的函数库还有一些命令,证明镜像内部的文件系统和函数库都是阉割版的,它需要什么才封装什么,所以不能使用 vi 去修改
使用命令替换:
sed -i 's#Welcome to nginx#温柔哥!!!#g' index.html
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html
exit
除了可以使用命令来退出容器以外,也可以通过快捷键
Ctrl + D
来退出
修改成功!
如果不像运行了,可以把容器停止掉
docker stop 容器名
docker stop my-nginx
此时又想要将已经停止的容器运行起来怎么办呢,我们首先使用docker ps
命令来查看,是看不到已经停止的容器的,这时候可以使用 -a 选项,docker ps -a
,然后使用docker start my-nginx
来启动容器。
docker start 容器名
这里我再强调一下啊,虽然我们之前将 my-nginx容器停止了,但是它的静态内容(之前我们对 index.html 文件的修改)还是有效的。
如果是删除停止的容器,直接使用命令:
docker rm 容器名
如果要删除的容器是正在运行的容器,那么有两种方式,一是你先停止再删除,二是使用-f
选项
docker rm -f 容器名
docker exec -it 容器名 要执行的命令
exec命令可以进入容器修改文件,但是在容器内修改文件是不推荐的,因为一个是不方便,另一个是没有记录
docker stop 容器名
docker start 容器名
docker rm 容器名
-f 强制删除正在运行中的容器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。