小白都能懂的 玩转docker系列之 docker常用命令(进入容器命令和拷贝命令)

容器我们通常是选择后台方式运行的,需要进入容器,修改一些配置,所以进入容器的命令是很常用的~

进入容器的命令

#命令
docker exec -it 容器id bashShell

#调试
[root@xiaoxiao ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
289fc5495bfe        centos              "/bin/bash -c 'while…"   17 minutes ago      Up 17 minutes                           sharp_bohr
[root@xiaoxiao ~]# docker exec -it 289fc5495bfe /bin/bash
[root@289fc5495bfe /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@289fc5495bfe /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 00:29 ?        00:00:00 /bin/bash -c while true; do echo xiaomin; sleep 1;done
root      1093     0  0 00:47 pts/0    00:00:00 /bin/bash
root      1122     1  0 00:47 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
root      1123  1093  0 00:47 pts/0    00:00:00 ps -ef

#方式二
docker attach 容器id

#测试
[root@xiaoxiao ~]# docker attach  289fc5495bfe 
xiaomin		#正在执行当前代码
xiaomin
xiaomin

#docker exec 	#进入容器后开启一个新的终端,可以在里面进行操作(常用)
#docker attach	#进入容器正在执行的终端,不会启动新的进程

从容器内拷贝文件到主机上

#命令
docker cp 容器id 容器内路径 目的主机路径

#测试
#查看当前主机目录
[root@xiaoxiao ~]# cd /home
[root@xiaoxiao home]# ls
[root@xiaoxiao home]# touch xiaomin.java
[root@xiaoxiao home]# ls
xiaomin.java

#进入容器内部
[root@aa30e029597d /]# cd /home

#在容器内部新建一个文件
[root@aa30e029597d home]# touch test.java
[root@aa30e029597d home]# ls
test.java
[root@aa30e029597d home]# exit
exit
[root@xiaoxiao home]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@xiaoxiao home]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
aa30e029597d        centos              "/bin/bash"         2 minutes ago       Exited (0) 15 seconds ago                       modest_hoover
[root@xiaoxiao home]# 

#将文件拷贝到主机上
[root@xiaoxiao home]# docker cp aa30e029597d:/home/test.java /home
[root@xiaoxiao home]# ls
test.java  xiaomin.java

拷贝是一个手动过程,未来使用 -v,数据卷的技术可以实现自动同步

猜你喜欢

转载自blog.csdn.net/weixin_45806131/article/details/108232834