# docker caontainer 操作(1): 运行

一个Docker镜像(image)运行后，就是一个容器实例，称为`container`

以镜像`hello-world`为例，启动容器：

```bash
docker container run -it hello-world
```

可以看到输出了Hello World 信息：

# docker caontainer 操作(2): 运行，进入交互式shell环境

一个Docker镜像(image)运行后，就是一个容器实例，称为`container`

运行容器后可以通过参数指定执行的第一个程序，例如可以先拉取`ubuntu`的容器镜像

```bash
docker image pull  library/ubuntu
```

下载 ubuntu 镜像成功

![](./container-run-bash-ubuntu.jpg.jpg)

接着，启动container 并执行第一个程序`bin/bash`:

```bash
docker container run -it ubuntu bin/bash
```

可以看到成功进入了ubuntu容器实例的shell环境，并在shell环境里执行了`ls`和`ll`命令。

![](./container-run-bash-ubuntu-shell.jpg)

以下描述错误的是？

## 答案

所有的容器都能执行 `/bin/bash` 程序

## 选项

### A

可以在启动容器的时候指定执行的第一个程序

### B

如果容器程序带有 bash 程序，就可以在启动的时候指定执行bash程序从而进入容器里的shell环境。

### C

因为指定了参数`-it`，因此可以直接在启动容器的终端上输入命令，回车交给容器里的shell环境执行命令。

![](./container-run-simple.jpg)

参数`-it`表示将容器的shell链接到当前终端。

以下描述错误的是？

## 答案

一个 docker image 只能启动一个 docker container 实例

## 选项

### A

docker container 是 docker image 运行时的容器实例

### B

一个 docker image 可以启动多个 docker container 实例

### C

docker container 也有一组相关的操作命令
