Docker 学习笔记
Docker 一种生成容器的工具。
一,镜像
Docker 镜像是一种特殊的文件系统,是一个静态概念,是容器的底层。
1,获取镜像:
$ docker pull ***
2,显示镜像:
$ docker image ls // 显示顶层镜像
$ docker image ls -a // 显示中间层镜像
$ docker image ls ** // 显示镜像 **
$ docker image ls -f since=** // 显示 ** 之后建立的镜像
$ docker image ls -f before=** // 显示 ** 之前的建立的镜像
$ docker image ls -f dangling=true // 显示虚悬镜像
$ docker image prune // 删除虚悬镜像
// 在发布镜像新版本时,旧镜像名转移到新镜像上,从而旧镜像出现仓库名,标签均为 <none> 情况,成为虚悬镜像。
$ docker image ls -q // 只显示镜像 ID
$ docker image ls --format "{{.ID}}:{{.Repository}"
// 按照 ID:仓库名 的格式显示
$ docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
// 按照 ID 仓库名 标签 的表格形式显示
3,删除镜像
$ docker image rm **
// ** 可以是 ID,镜像名,摘要
$ docker image rm $(docker image ls -q redis)
// 删除所有仓库名为 redis 的镜像
4,定制镜像(Dockerfile)
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
二,容器
容器是独立运行的一个或一组应用,以及它们的运行态环境,是一个动态概念。
1,启动容器:
1) 基于镜像新建容器并启动:
$ docker run -t -i ubuntu /bin/bash
// -t 选项让 Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开
2) 启动已终止的容器:
$ docker container start [id] // 重启容器
2,运行容器:
-d:让容器在后台运行,而不是在当前宿主机下输出结果。例如:
$ docker run -d ubuntu /bin/sh -c "echo hello world;"
// 此时会返回一个唯一的 id,可借助 id 查看输出信息
$ docker logs [id]
3,终止容器:
$ docker container ls // 显示运行中的容器
$ docker container ls -a // 显示所有容器
$ docker container stop [id] // 终止容器
$ docker container restart [id] // 重启容器
4,进入容器:
1) attach:
$ docker attach [id]
// exit 会导致容器停止
2) exec:
$ docker exec -it [id] bash
// -i:交互式 ,-t:终端
// exit 不会导致容器停止
5,删除容器:
$ docker container rm [id] // 删除终止态的容器
$ docker container rm -f [id] // 删除运行中的容器
$ docker container prune // 删除所有终止态的容器
三,仓库
集中存放镜像的地方