大家好,今天我们来分享一下docker 进入容器和拷贝的命令
进入当前运行的容器:
首先,我们要知道,我们通常都是以后台运行的方式来进入容器
这个时候,我们要对容器进行修改:
查看现在正在运行的容器:
以交互的方式运行,进入容器
[root@localhost ~]# docker exec -it 39fb3756e692 /bin/bash
[root@39fb3756e692 /]#
发现和centos系统一样
[root@39fb3756e692 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@39fb3756e692 /]#
还有另外一种方式进入:
[root@localhost ~]# docker attach 39fb3756e692
[root@39fb3756e692 /]#
但是它俩是有区别的
exec : 进入容器之后,开启一个新的终端,是可以在里面进行操作
attach:进行容器正在执行的终端,不会启动新的进程
从容器里拷贝文件到外部主机上:
我们当前就是在容器里:
[root@localhost ~]# docker attach 39fb3756e692
[root@39fb3756e692 /]#
这里是在外部主机上
[root@localhost ~]#
在外部的Linux上创建文件1.txt
[root@localhost ~]# cd /home/
[root@localhost home]# ls
admin ceshi daqing mysql zhangsan
[root@localhost home]# touch 1.txt
[root@localhost home]# ls
1.txt admin ceshi daqing mysql zhangsan
[root@localhost home]#
查看镜像:
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 3218b38490ce 2 months ago 516MB
hello-world latest feb5d9fea6a5 5 months ago 13.3kB
centos latest 5d0da3dc9764 5 months ago 231MB
在后台运行一个容器:
[root@localhost home]# docker run -d -it 5d0da3dc9764 /bin/bash
6d6fa6a4c6d763e5699be0308229b6185463aaaa451f51a2650775b163b85b99
[root@localhost home]# ^C
[root@localhost home]#
查看当前运行的容器:
进入到容器:
[root@localhost home]# docker exec -it 6d6fa6a4c6d7 /bin/bash
在容器里新建文件456.txt
[root@6d6fa6a4c6d7 /]# cd /home/
[root@6d6fa6a4c6d7 home]# touch 456.txt
[root@6d6fa6a4c6d7 home]#
退出容器
在Linux主机上将指定容器里的指定的目录文件拷贝到外部的Linux主机上的目录
[root@localhost home]# docker cp 6d6fa6a4c6d7:/home/456.txt /home/
好了,有关于docker 进入容器和拷贝的命令,就到这里了,谢谢大家