docker exec
描述
为进入正在运行的docker容器中,目的是在容器中做一些操作,且进入容器中修改完成后,下次重启该容器时,还原之前的版本
语法
docker exec [选项] ID/容器名称 解释器
其中(ID)是正在运行的docker的ID号,可以使用docker ps来查看, 解释器用bash,有些容器不支持bash,可以尝试使用。
选项
参数 | 解释 |
---|
-d | 分离模式: 在后台运行 | -i | 即使没有附加也保持STDIN 打开 | -t | 分配一个伪终端 |
举例
进入容器中
docker exec -it (id) bash
[root@db1 ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d828ee9b1bc halohub/halo:1.4.11 "/bin/sh -c 'java -X…" 5 weeks ago Up 12 days 0.0.0.0:8090->8090/tcp, :::8090->8090/tcp halo
[root@db1 ~]
root@8d828ee9b1bc:/application
BOOT-INF META-INF org
root@8d828ee9b1bc:/application
这时就进入到docker里面了,可以查看docker里面的代码、环境等,也可以更改里面的东西(重启容器后失效,可以docker commit 命令,可以将容器的存储层保存下来成为镜像,运行这个新镜像的时候,就会拥有原有容器最后的文件变化)。
个人建议,如果需要修改容器的配置,使用Dockerfile比较简单。而且慎用 docker commit 参考博客
docker exec 容器名称/容器ID 到容器执行的命令
在Linux命令行中
[root@db1 ~]
BOOT-INF META-INF org
不进入容器,直接在命令行中修改对应的参数
|