1. Docker 基础概念
Docker 是基于 Go 语言实现的开源容器项目,诞生于2013年年初。Docker 加入了 Linux 基金会,遵循 Apache 2.0 协议,在 GitHub 开源。
在云时代,开发者创建的应用必须能方便的在网络上传播,需要脱离底层物理硬件的限制,同时需要任何时间、任何地点可获取。因此,开发者需要一种新型的分布式应用程序的部署实现快速分发。Docker 的容器打包可以满足这样的需求。
2. Docker 的安装和配置
Docker 官网:https://www.docker.com/,找到系统对应的 Docker 下载安装。
1. 为了避免每次执行 docker 命令需要使用特权身份,可以将当前用户加入安装中自动创建的 docker 用户组
2. 可以配置使用 systemd 管理 docker 服务
3. 支持自定义下载和上传镜像的并发数
4. Docker 默认镜像源为 DockerHub,Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
5. 其他有用配置待补充。。。
3. Docker 镜像
# 拉取源端镜像
docker pull NAME[:TAG]
# NAME 是镜像仓库的名称, TAG 是镜像的标签(如果不指定,默认 latest)
# 查看镜像信息
docker images
# 为本地镜像添加标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# 获取镜像详细信息
docker inspect NAME|ID [NAME|ID...]
# 查看镜像各层的历史内容
docker history NAME:TAG
# 搜索远端仓库中的镜像
docker search TERM
# 删除镜像
docker rmi IMAGE # IMAGE 可以是标签或 ID
# 当镜像有多个标签时,只是删除该标签,不会删除镜像文件
# 当使用镜像 ID 删除时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。如果有容器使用该镜像,镜像文件是无法被删除的,正确做法是先删除对应的容器,然后再删
# 镜像导出到文件
docker save -o FILE IMAGE[:TAG]
# 载入镜像,导入镜像及其相关的元数据信息(包括标签等)
docker load --input FILE
# 上传镜像到仓库 Docker hub
docker push NAME[:TAG]
# 需要在 Docker hub 先创建一个仓库
原文:https://www.cnblogs.com/blog-of-Fourier/p/14827058.html