Docker教程小白实操入门(5)--如何进入一个容器

一、使容器在后台运行

# 基于ubuntu镜像创建并在后台启动一个名为container2的容器
docker run -itd --name container2 ubuntu /bin/bash

二、进入一个容器内部

1. attach命令

// docker attach进入了该容器内部,实际上就是进入容器“启动命令”的终端。
docker attach containerId或containerName

2. exec命令

// docker exec进入了该容器内部,实际上就是进入容器另开一个终端。
docker exec -it containerId或containerName /bin/bash

3. attach和exec区别

a. attach直接进入容器“启动命令”的终端,不会启动新的进程;

b. exec则是在容器中打开新的终端,并且可以启动新的进程;

c.   如果想直接在终端中查看容器“启动命令”的输出,用attach;其他情况使用exec

4. 如果以脚本的形式执行docker命令

用定时任务执行docker命令的脚本的时候报错“the input device is not a TTY”,tty(终端设备的统称): tty一词源于Teletypes,或  teletypewriters。这个的意思是说后台linux执行的时候没有终端设备。我们一般执行docker里的命令时候都喜欢加上  -it 这个参数,这里的-it 就是表示终端设备。所以,如果我们docker执行后台运行的任务或者程序直接去除 -it 这个 参数就不会出现这个报错了!

docker run -itd --name container2 ubuntu /bin/bash

# 进入一个名为container2的容器内部,并在容器内部创建一个1.txt文件
docker exec container2 touch 1.txt

参考:https://www.educoder.net/shixuns/oiwsvgpf/challenges

猜你喜欢

转载自blog.csdn.net/u013288190/article/details/108898054