~~~base
docker run centos8.3.2011 /bin/echo "Hello world"
~~~
#### 各个参数解析:
* **docker:** Docker 的二进制执行文件。
* **run:** 与前面的 docker 组合来运行一个容器。
* **centos:8.3.2011** 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
* **/bin/echo "Hello world":** 在启动的容器里执行的命令
### 运行交互式的容器
~~~base
docker run -i -t centos:8.3.2011 /bin/bash
~~~
#### 各个参数解析:
* **\-t:** 在新容器内指定一个伪终端或终端。
* **\-i:** 允许你对容器内的标准输入 (STDIN) 进行交互。
![](https://img.kancloud.cn/54/c8/54c8af27956839bb4095a327a95992ff_629x64.png)
查看版本
~~~base
cat /proc/version
~~~
查看目录
~~~
ls
~~~
![](https://img.kancloud.cn/ad/d1/add16ed8391b55eec4228af2766087e0_1194x210.png)
通过运行 **exit** 命令或者使用 **CTRL+D** 来退出容器。
## 后台模式启动容器
使用以下命令创建一个以进程方式运行的容器
~~~
docker run -d centos:8.3.2011 /bin/sh -c "while true; do echo hello world; sleep 1; done"
输出
50a3b604bf1eb2915ba06d90f276150e94697767d4b1dacbdab4433b5345daa4
~~~
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
确认容器是否在运行
![](https://img.kancloud.cn/57/b3/57b3513a5eab1d0a92cf00d4348c9994_1113x102.png)
~~~
docker ps
~~~
#### 输出详情介绍:
**CONTAINER ID:** 容器 ID。
**IMAGE:** 使用的镜像。
**COMMAND:** 启动容器时运行的命令。
**CREATED:** 容器的创建时间。
**STATUS:** 容器状态。
##### 状态有7种:
* created(已创建)
* restarting(重启中)
* running 或 Up(运行中)
* removing(迁移中)
* paused(暂停)
* exited(停止)
* dead(死亡)
**PORTS:** 容器的端口信息和使用的连接类型(tcp\\udp)。
**NAMES:** 自动分配的容器名称。
查看容器内的标准输出:
~~~base
docker logs 容器id 或者容器名字{【docker ps 输出的NAMES】
~~~
### 停止容器
~~~
docker stop 容器id 或者容器名字{【docker ps 输出的NAMES】
~~~