Docker
# 一、安装
# 二、Docker简介
# 1、Docker是什么
Docker对进程进行封装隔离,属于操作系统层面的虚拟化技术。
# 2、Docker的作用
- 更高效的利用系统资源
- 更快速的启动时间
- 一致的运行环境
- 持续交付和部署
- ...
# 三、Docker基本概念
# 1、镜像
Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。
# 2、容器
镜像是静态的定义,容器是镜像运行时的实体。
容器可以被创建、启动、停止、删除、暂停等。
每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为 容器存储层。
# 3、仓库
一个 Docker Registry 中可以包含多个 仓库(Repository
);每个仓库可以包含多个 标签(Tag
);每个标签对应一个镜像。
# 四、镜像操作
# 1、获取镜像
从 Docker 镜像仓库获取镜像的命令是 docker pull
。其命令格式为:
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
# 2、列出镜像
要想列出已经下载下来的镜像,可以使用 docker image ls
命令。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/kafka latest a692873757c0 10 months ago 468MB
wurstmeister/zookeeper latest 3f43f72cb283 4 years ago 510MB
# 3、删除镜像
如果要删除本地的镜像,可以使用 docker image rm
命令,其格式为:
$ docker image rm [选项] <镜像1> [<镜像2> ...]
# 五、容器操作
# 1、启动容器
新建并启动
docker run
$ docker run ubuntu:18.04 /bin/echo 'Hello world'
Hello world
启动已终止容器
docker container start 容器id/容器名
# 2、停止容器
docker stop 容器id/容器名
停止运行中的容器
docker kill 容器id/容器名
强行停止运行中的容器
# 3、删除容器
docker rm 容器id
删除指定容器
docker container prune
删除所有处于终止状态的容器
# 4、进入容器
attach命令
$ docker run -dit ubuntu
243c32535da7d142fb0e6df616a3c3ada0b8ab417937c853a9e1c251f499f550
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
243c32535da7 ubuntu:latest "/bin/bash" 18 seconds ago Up 17 seconds nostalgic_hypatia
$ docker attach 243c
root@243c32535da7:/#
如果从这个 stdin 中 exit,会导致容器的停止。
exec命令
$ docker run -dit ubuntu
69d137adef7a8a689cbcb059e94da5489d3cddd240ff675c640c8d96e84fe1f6
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69d137adef7a ubuntu:latest "/bin/bash" 18 seconds ago Up 17 seconds zealous_swirles
$ docker exec -i 69d1 bash
ls
bin
boot
dev
...
$ docker exec -it 69d1 bash
root@69d137adef7a:/#
如果从这个 stdin 中 exit,不会导致容器的停止。推荐使用
docker exec
命令。
# 六、仓库操作
# 1、搜索镜像
你可以通过 docker search
命令来查找官方仓库中的镜像,并利用 docker pull
命令来将它下载到本地。
可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示该镜像的受关注程度)、是否官方创建(OFFICIAL
)、是否自动构建 (AUTOMATED
)。
- 对于没有前缀的,一般都是由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。、
- 对于有前缀的,是由 Docker Hub 的注册用户创建并维护的,往往带有用户名称前缀
# 参考
上次更新: 2024/06/29, 15:13:44