常用的docker命令
docker run
docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
各个参数解析:
-
docker: Docker 的二进制执行文件。
-
run: 与前面的 docker 组合来运行一个容器。
-
ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
-
/bin/echo "Hello world": 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
新开启终端,以交互模式启动:
docker run -i -t ubuntu:15.10 /bin/bash
各个参数解析:
-
-t: 在新容器内指定一个伪终端或终端。
-
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
启动容器(后台模式):
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
在输出中,我们没有看到期望的 "hello world",而是一串长字符
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
root:~$ docker ps CONTAINER ID IMAGE COMMAND ... 5917eac21c36 ubuntu:15.10 "/bin/sh -c 'while t…" ...
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
退出当前容器:
可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。
一些常用的命令:
docker run -it ubuntu /bin/bash#启动容器
docker images #列出本地主机上的镜像。
docker pull ubuntu:13.10 #获取一个新的镜像
docker search httpd #搜索一个镜像
docker rmi hello-world #删除镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] #从容器创建一个新的镜像。
docker ps #查看正在运行的容器
docker ps -a#查看所有容器,包括已经停止运行的
docker start <容器 ID> #启动一个已经停止的容器
docker stop <容器 ID> #停止一个容器
docker restart <容器 ID> #重启一个容器
docker attach <容器 ID> #进入容器,如果从这个容器退出,会导致容器的停止。eg:docker attach 1e560fca3906
docker exec <容器 ID> #推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。eg:docker exec -it 243c32535da7 /bin/bash
docker rm -f <容器 ID> #删除容器,必须先停止容器