明确容器和镜像的概念;

更明确的区分容器和镜像;
补充运行容器的命令.

Signed-off-by: ithink.chan <chenyang@autoai.com>
This commit is contained in:
ithink.chan 2019-12-20 10:43:04 +08:00
parent cfc5762e8f
commit 812ca8066f
1 changed files with 21 additions and 11 deletions

View File

@ -27,27 +27,38 @@ pkill X
## 基本使用 ## 基本使用
Docker 的主要管理对象是镜像和容器,镜像是静态对象,保存了分层的用户数据;而容器是动态对象,可以看作镜像的运行状态,容器主要包容了 root fs。二者的关系如同程序文件与进程的关系。必须使用镜像来创建容器一旦 Docker 加载并运行了谋镜像,就为之创建一个与之对应的容器,容器至少有 stop 和 run 两个状态。使用 run 命令通过镜像创建容器后,该容器处于 run 状态,使用 exit 命令脱离容器后,容器处于 stop 状态。可以使用 start 命令将处于 stop 状态的容器再次运行起来。
如果每次都使用 run 命令从同一个镜像创建容器,会发现两个容器是完全一样的,因为他们都有相同的起始点。容器使用后,会保存当前的使用状态,但如果希望将其当前状态保存成镜像,可以使用 commit 命令。
* image name 为 \<repository\>:\<tag\> 这种形式。 *
以下是使用 Docker 的一些基础命令:
```sh ```sh
# 从 https://hub.docker.com 拉取镜像 # 从 https://hub.docker.com 拉取镜像
docker pull ubuntu:18.04 docker pull ubuntu:18.04
# 运行谋容器 # 运行谋镜像并为之创建容器
docker run <name/id> docker run <image name/id>
# 运行谋容器,并将宿主机的/test目录挂载到容器的/soft目录 # 运行谋镜像,为之创建容器,将宿主机端口影射到容器端口,并将宿主机的谋目录挂载到容器的对应目录下
docker run -it -v /test:/soft <name/id> /bin/bash docker run -it -p <host ip:port><container port> -v <host dir>:<container dir> <image name/id> /bin/bash
# 查看正在运行的容器 # 查看正在运行的容器
docker ps docker ps
# 进入正在运行的容器 # 提交针对谋容器的修改,将其保存为镜像
docker exec -it <tag name/id> bash docker commit <container id> <repository>:<tag>
# 提交针对谋容器的修改 # 退出容器:在容器的 shell 中直接
docker commit <id> <image name>:<tag>
# 退出容器
exit exit
# 运行谋已存在的容器
docker start <container id>
docker attach <container id>
# 在谋已运行的容器中执行命令
docker exec -it <container name/id> <cmd and args>
# 迁移镜像 # 迁移镜像
docker save -o <tar file> <image name/id> docker save -o <tar file> <image name/id>
docker load -i <tar file> docker load -i <tar file>
# 迁移容器 # 迁移容器
docker export -o <tar file> <container name/id> docker export -o <tar file> <container name/id>
docker import <tar file> <image name>:<tag> docker import <tar file> <repository>:<tag>
``` ```
### 容器操作 ### 容器操作
@ -66,7 +77,6 @@ docker container rm <container id>
### 镜像操作 ### 镜像操作
```sh ```sh
# image name 为 repository:tag
# 获得镜像信息 # 获得镜像信息
docker image ls -a docker image ls -a
# 获得镜像id # 获得镜像id