Docker系列(9)- 常用其他命令(2) | 进入容器和拷贝的命令
进入当前正在运行的容器
#我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
#方法一 命令
docker exec -it 容器ID bashShell
#测试
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a6584c42e03 centos "/bin/bash -c 'while…" 20 minutes ago Up 19 minutes inspiring_sanderson [root@localhost ~]# docker exec -it 6a6584c42e03 /bin/bash [root@6a6584c42e03 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@6a6584c42e03 /]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 10:58 ? 00:00:00 /bin/bash -c while true;do echo gelaotou;sleep 2;done root 707 0 0 11:22 pts/0 00:00:00 /bin/bash root 726 1 0 11:22 ? 00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 2 root 727 707 0 11:22 pts/0 00:00:00 ps -ef
#方式二 命令
docker attach 容器ID
#测试
[root@localhost ~]# docker attach 6a6584c42e03
#正在执行的代码
gelaotou
gelaotou
# docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
#命令
docker cp 容器ID:容器内路径 目的地主机路径
#测试
#查看当前主机目录
[root@localhost ~]# ls 公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg initial-setup-ks.cfg [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#创建容器,容器内用户家目录下创建文件
[root@localhost ~]# docker run -it centos /bin/bash [root@e88decf20b06 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@e88decf20b06 /]# cd [root@e88decf20b06 ~]# ls anaconda-ks.cfg anaconda-post.log original-ks.cfg [root@e88decf20b06 ~]# touch gelaotou.text [root@e88decf20b06 ~]# exit exit [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e88decf20b06 centos "/bin/bash" 56 seconds ago Exited (0) 16 seconds ago gallant_chaplygin
#将文件拷贝出来到主机上 [root@localhost ~]# docker cp e88decf20b06:/root/gelaotou.text /root [root@localhost ~]# ls 公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg gelaotou.text initial-setup-ks.cfg
#拷贝是一个手动过程,后面笔记,会有使用-v卷的技术,可以实现主机目录和容器目录打通同步