创建docker
docker create imageName
使用 create
创建的 Docker
容器不会启动, imageName
是镜像名称,需要通过镜像来启动容器,Docker
会先在本地搜索该镜像,本地没有时会到公有仓库下载,并将其添加到本地。
如果要启动该容器使用:
docker start id/name
用过 docker start
来启动容器,通过 容器的ID
或者 容器的名字
来启动
docker ps // 查看正在运行的容器
docker ps -a // 查看所有容器,包括正在运行中的,和关闭状态下的容器
关闭正在运行的容器
docker stop
docker kill
容器创建后就与终端无关,即使关闭了,该容器依然存在
sudo docker run -i -t --name=dockerName imageName /bin/bash
-i
:打开容器的标准输入
-t
:告诉 Docker
为容器创建一个命令行终端
这两个标志为我们和容器提供了交互 shell
是创建容器的基本配置
--name
:为容器命名,当没有使用这个标记时,Docker
会随机为容器命名
/bin/bash
:Docker
创建成功后会进入容器内的终端,出现:
root@7238r37453443:/#
@
前面是我们登入的 root
,后面是容器的主机名
需要退出容器可以使用 ctrl + D
或者 exit
命令
docker ps -l // 查看最后创建的容器
docker ps -n=x // 查看 `x` 个数的容器
docker run --restart=always --name=dockerName -d imageName /bin/bash
--restart
标志被设计成 always
表示:不管容器返回码是什么,Docker
都会尝试重启容器
on-failure
表示:当容器的返回值是非0时, Docker
才会重启容器
on-failure
标志接受一个可选重启次数
--restart=on-failure:5
表示最多尝试重启容器5次
删除容器:
docker rm dockerId/dockerName // 删除指定容器
docker rm `docker ps -a -q` // docker没有提供一次性删除所有容器的命令,可以通过此命令来实现删除所有容器
-q
表示列出容器的Id, docker ps -a -q
表示查询出所有容器,列出其ID
终端依附到交互型容器中
docker arrach dockerId/dockerName
使用 attach
依附到容器后要多按一次回车才会出现容器的 shell
交互页面
查看 Docker
日志输出
docker run -d --name deamon_logs ubuntu:14.04 /bin/bash -c 'for((i=0;1;i++));do echo $i; sleep 1;done'
docker logs -f dockerId/dockerName
logs
输出是从容器启动到调用执行logs命令时的所有输出,之后的日志不在输出,并立即返回主机的控制台
使用 -f
可以看到日志,并在不断更新。
docker logs -f --tail=5 deamon_logs
docker logs -f --tail=5 -t deamon_logs
--tail
可以限定日志输出的长度
-t
可以打印出日志的产生时间
docker top deamon_logs
可以看到容器的进程
docker inspect deamon_logs
查看容器信息