docker run -i -t --name mytest ubuntu /bin/bash
-i 表示使用交互模式运行,保持打开一个接受输入数据的输入流。
-t 表示打开一个虚拟终端pty(pseudo-tty),类似telnet连接远程主机时候打开的那个终端。
--name 表示指定运行的容器的名称,不指定的话docker会随机分配一个。
ubuntu 是镜像的名称
/bin/bash 是给-t分配的虚拟终端要执行的shell命令的类型(shell有很多种的哦)
docker attach container_id
在运行一个容器的时候加上了-d参数,那么如何再回到容器的虚拟终端上进行输入输出操作呢,就是使用
docker attach container_id 命令
docker run -i -t -d --name ternence ubuntu /bin/bash (后台运行)
docker attach ternence (需要切回前台的时候就用这个命令s)
docker exec container -it_name /bin/bash
当运行容器的时候使用的是 docker run -d ....,那么容器会以守护的方式运行,不可以和用户交互,也就是没有一个shell终端绑定到这个容器,不能输入,也没有输出,如果我们想和容器交互,那么使用上面这个命令就好了,-i会使得使用交互式模式连接容器,-t会指定一个终端和容器交互,退出容器的快捷键是crtl + d,如果使用crtl + c会终止容器的运行
docker run -it -p 12345:8080 --name tomcat tomcat:8.5 /bin/bash
可以在运行容器的同时将宿主机上的一个端口和容器的一个端口绑定,就可以通过访问宿主机的12345端口访问容器提供的服务