我们使用的容器都说是通过后台方式运行的,需要进入容器,修改一些配置
方式一
命令
docker exec -it 容器id /bin/bash
进入容器
docker exec -it 10e1734c72f9 /bin/bash
[root@10e1734c72f9 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 05:30 pts/0 00:00:00 /bin/bash
root 15 0 0 05:46 pts/1 00:00:00 /bin/bash
root 30 15 0 05:46 pts/1 00:00:00 ps -ef
[root@10e1734c72f9 /]#
方式二
docker attach 容器id
docker attach 10e1734c72f9
进去正在执行的代码
docker exec #进入容器开启一个新的终端,可以在里面操作
docker attach # 进入容器正在执行的终端,不会启动新的进程
从容器拷贝文件到主机
docker cp 容器id:容器内的路径 目的主机路径
docker attach a7d2a39a090d # 进入容器
[root@a7d2a39a090d /]# cd /home
[root@a7d2a39a090d home]# touch test.java # 在容器创建文件
[root@a7d2a39a090d home]# exit
exit
[root@root home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@root home]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7d2a39a090d centos "/bin/bash" 23 minutes ago Exited (0) 27 seconds ago beautiful_wing
b882b346af41 centos "/bin/bash" 23 minutes ago Exited (0) 23 minutes ago serene_montalcini
10e1734c72f9 centos "/bin/bash" 25 minutes ago Exited (0) 2 minutes ago bold_shockley
6025f5cf7605 centos "/bin/bash" 50 minutes ago Exited (0) 50 minutes ago competent_moser
[root@root home]# docker cp a7d2a39a090d:/home/test.java /home # 拷贝容器文件到主机
[root@root home]# ls
stevezhao.java test.java