基本概念
目录
仓库(Repository):包含若干个镜像
镜像(Image):相当于一个 root 的文件系统,我理解为就是一个iso镜像文件,比如这样的文件名 ubuntu-20.04.3-desktop-amd64.iso
容器(Container/Apps):镜像运行时的实体。它可以被创建、启动、停止、删除等
一个仓库包含一个或多个镜像,一个镜像可以有多个容器实体(这个就相当于在虚拟机里面用一个镜像文件创建了多个虚拟机),每个容器之间相互不干扰
查看当前容器系统版本
可以运行命令 cat /proc/version
来查看当前系统的版本信息
容器的使用
创建容器
docker run -itd --name sinmuApp ubuntu bash
这里it
两个参数不能掉,因为为了保持容器运行,Docker 需要一个命令来保持在前台运行。
否则会提示图下错误
Error response from daemon: Container db9f13e556578f9f2194e8475d6f5215323577badcd28dfeafae07bc70bc8bea is not running
-d, --detach Run container in background and print container ID
在后台运行一个容器,且打印出他的容器ID
--name string Assign a name to the container
给容器指定一个名称
-t --tty Allocate a pseudo-TTY
分配一个伪 [TTY](TTY_百度百科)
-i
提供交互式操作
启动容器
docker start ubuntu-test
启动一个已停止且名为 ubuntu-test 的容器
docker start -i ubuntu-test
可以进入 ubuntu-test 这个容器的交互界面,也就是这个样子
可以通过 docker ps
查看容器运行状态,可以通过docker ps -a
来查看所有的容器
输出介绍
CONTAINER ID:容器的ID
IMAGE:容器使用的镜像
COMMAND:启动容器时运行的命令
CREATED:容器创建的时间
STATUS:容器的状态
- created:已创建
- restarting:重启中
- running 或 Up:运行中
- removing:迁移中
- paused:暂停
- exited:停止
- dead:死亡
PORTS:容器的端口信息和连接类型
NAMES:自动分配的容器名称,也可以通过 --name
来指定名称
停止容器
通过 docker stop containerID
来暂停一个容器
其中 containerID 是一个容器的 ID
删除容器
通过 docker rm -f containerID
来删除一个容器
其中 containerID 是一个容器的 ID
删除容器的时候,容器必须是停止的,否则会报错
进入容器
进入容器有两种方法
docker attach containerID
退出的时候可能会导致容器的停止docker exec -it containerID bash
推荐使用这种方式进入容器