查找centos
docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS.6169 [OK]
下载官方镜像
docker pull centos
Using defaulttag: latest
latest: Pullingfrom library/centos
3c72a8ed6814: Pull complete
Digest: sha256:76d24f3ba3317fa945743bb3746fbaf3a0b752f10b10376960de01da70685fbd
Status: Downloaded newer imageforcentos:latest
docker.io/library/centos:latest
查看本地镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa83weeks ago 215MB
docker/getting-started latest 3c156928aeec 4 months ago 24.8MB
启动镜像
docker run -t -i centos /bin/bash
[root@e004eb1cfe65 /]# pwd/[root@e004eb1cfe65/]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
启动后会进入centos的伪终端中,终于进入到熟悉的世界了,啥都不说了,开搞。一顿操作之后,关闭了终端,再然后???!!!。。。
如果退出伪终端后,想再进入怎么办?
不能再执行"docker run -t -i centos /bin/bash",这样实际上是运行了一个新的【容器】,里面没有我们之前安装配置的东西。
应当使用docker ps -a查看所有容器,找到自己之前运行的容器,并使用docker start 启动容器,并使用docker exec -it /bin/bash启动伪终端,这样会回到了安装配置过的环境中了。
如果想清理掉没用的容器,可以使用docker rm ,如果容器正在运行会报错,需要使用docker stop 先把容器停掉。
docker 参数
参数
完整表示
描述
-i
--interactive(交互的)
Keep STDIN open even if not attached
以交互模式运行容器,通常与 -t 同时使用;
-t
--tty(Teletypes, 虚拟控制台)
Allocate a pseudo-TTY
为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d
--detach(使...分开;挣脱)
Run container in background and print container ID
后台运行容器,并返回容器ID;
使用docker ps查看运行中的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b3d7578dafc centos"/bin/bash" 37 minutes ago Up 6minutes reverent_engelbart
d980f2c46e0a centos"/bin/bash" 46 minutes ago Up 5minutes reverent_driscoll
e004eb1cfe65 centos"/bin/bash" 2 hours ago Up 3 minutes goofy_hawking
使用docker ps -a查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b3d7578dafc centos"/bin/bash" 38 minutes ago Up 8minutes reverent_engelbart
d980f2c46e0a centos"/bin/bash" 47 minutes ago Up 6minutes reverent_driscoll
e004eb1cfe65 centos"/bin/bash" 2 hours ago Up 4minutes goofy_hawking
841c705b8f4f docker/getting-started "nginx -g 'daemon of…" 3 months ago Exited (255) 3 weeks ago 0.0.0.0:80->80/tcp festive_gates
使用docker start 启动容器
docker start d980f2c46e0a d980f2c46e0a
使用docker exec -it /bin/bash在容器启动终端
docker exec -it e004eb1cfe65 /bin/bash [root@e004eb1cfe65 /]#
使用docker commit 创建镜像
docker commit e004eb1cfe65 centos-dev