请在root用户下执行,或在执行命令行前面加上sudo。
1.查看Docker服务是否正常
docker info
2.运行容器(sudo docker run -i -t 镜像名称 命令代码)
docker run -i -t ubuntu /bin/bash
-i:设置容器中的STDIN是开启的。
-t:参数表示为创建的容器分配一个伪tty终端。
(通常-i和-t两个参数会联合使用,也可以写作-it。)
/bin/bash:则指定了该容器需要运行的命令。
命令完成后,我们将会看到我们进行了该容器内的shell:
root@108ccd05bc02:/#
3.使用容器
root@108ccd05bc02:/# hostname
root@108ccd05bc02:/# cat /etc/hosts
此外,我们还可以安装一个软件包,以vim为例:
root@108ccd05bc02:/# apt-get update && apt-get install vim
当我们使用完成该容器后,可以使用exit来退出容器。
(注意:此时,容器仅仅是停止运行,但是并没有被销毁。)
4.查看当前系统中存在的容器:
docker ps -a
ps:查询到所有正在运行的容器。
-a:无论是否在运行中,都会被查找到。
5.容器命名
默认情况下,如果没有指定容器名称,系统将会自动随机生成一个唯一的名称。
docker run --name lunhui_test -i -t ubuntu /bin/bash
--name:指定容器的名称
(一个合法的容器名称是只能由字母、数字、下划线、圆点和横线组成的。容器名称必须是唯一的)
6.启动已停止的容器
# 根据容器名称启动
docker start lunhui_test
# 根据容器id启动
docker start 67ed3e910341
重新启动容器后,将会继续沿用之前docker run运行时的参数来运行。但是,并没有直接进入到交互式shell的环境。
7.进行容器内部命令行
docker attach lunhui_test
ps:有时在执行完该命令后,需要再次敲击一个回车才能看到交互式shell。
8.创建守护式容器(长期运行的容器)
docker run --name lunhui_test1 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
-d:表示将程序放在后台执行。
执行脚本:表示每隔1s打印一个hello world,直到容器停止。
9.查看容器日志
docker logs -f -t lunhui_test1
-f:用于监控容器的日志,功能类似于tail -f。
-t:添加时间戳。
10.查看容器内进程
docker top lunhui_test1
11.在容器内运行进程
docker exec -it lunhui_test1 /bin/bash
12.停止守护式容器
docker stop lunhui_test1
13.自动重启容器
有时,我们期望由于某些意外错误而造成容器停止运行时,可以自动重启服务。
# 任务情况下都自动重启
docker run --restart=always --name lunhui_test2 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
# 退出代码不为0时,自动重启;且最多重启5次
docker run --restart=on-failure:5 --name lunhui_test3 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
--restart=always:总是自动重启
--restart=on-failure:5:退出代码不为0时,自动重启;且最多重启5次
(注意:默认情况下,Docker不会自动重启容器。 )
14.查看容器详细信息
docker inspect lunhui_test1
15.删除容器
docker rm lunhui_test
(注意:运行中的容器是无法直接删除的,需要先停止容器运行后才能将其删除。)