Docker容器创建了之后,就会涉及进入Docker容器,下面重点详解3种进入Docker容器命令。
一.使用docker attach进入Docker容器
语法格式:
docker attach [OPTIONS] CONTAINER
要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕。
示例:
docker attach mynginx
二.使用exec进入Docker容器
docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些。
语法格式:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
- -d :分离模式: 在后台运行;
- -i :即使没有附加也保持STDIN 打开;
- -t :分配一个伪终端;
示例:
docker exec -it mynginx /bin/sh /root/runoob.sh
除了使用容器名字:mynginx外,也可以使用容器ID。
docker attach和exec的区别
docker attach:进入容器正在执行某个命令的终端,不能在里面操作;
docker exec:进入当前容器后开启一个新的终端,可以在里面操作;
三.使用nsenter进入Docker容器
还有一种使用nsenter进入Docker容器,没有安装的话,按下面步骤安装即可:
$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz $ tar -xzvf util-linux-2.24.tar.gz $ cd util-linux-2.24/ $ ./configure --without-ncurses $ make nsenter $ sudo cp nsenter /usr/local/bin
如果对nsenter不熟悉,可以使用:
docker inspect --help
然后输入进入命令,就可以进入容器了
docker-enter redis
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》