1. 简介
Docker 是一个开源的应用容器引擎,基于 Go 语言开发,以 Apache2.0 协议开源。Docker 可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,发布到任何流行的 Linux 系统,同时实现虚拟化。Docker 基于沙箱机制实现容器间隔离,除对外开放的端口外,容器之间不存在任何关联。
Docker 自 17.03 版本后分为 CE(Community Edition,社区版)和 EE(Enterprise Edition,企业版),社区版可以免费使用。
2. 安装部署
2.1 前期准备
Ubuntu 平台上,Docker 可用的存储驱动包括 overlay2、aufs 和 btrfs。对于内核版本 >= 4 的系统,overlay2 优先于 aufs。默认使用 overlay2 存储驱动,如果使用 aufs,则需要进行手动配置。
Docker 要求 Linux 内核版本 >= 3.10,使用 uname -r
命令查看当前内核版本。
2.2 卸载旧版本
Docker 曾用名包括 docker、docker.io、docker-engine,现名称为 docker-ce。安装前,需要卸载过时版本。
sudo apt-get remove docker docker-engine docker.io docker-ce containerd runc
Docker 镜像、容器、网络等存储在 /var/lib/docker/
目录下,卸载旧版本后,需要手动删除该目录。
rm -rf /var/lib/docker/
2.3 执行安装
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common # 安装相关依赖
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加 GPG Key
sudo apt-key fingerprint 0EBFCD88 # 验证 GPG Key
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 添加软件源
sudo apt-get update # 更新软件源
sudo apt-get install docker-ce docker-ce-cli containerd.io # 安装 Docker CE
3. 配置用户权限
Docker 守护进程绑定 Unix Socket,只有 root 拥有操作权限。添加普通用户到 docker 用户组,赋予普通用户执行权限,重启后生效。
sudo groupadd docker # 创建用户组(默认自动创建)
sudo usermod -aG docker $USER # 添加当前用户到用户组
docker run hello-world # 测试运行(重启后生效)
4. 常用操作
4.1 拉取镜像
docker pull <image_name>:[tag_name]
拉取镜像到本地,$(tag)
为空表示拉取最新版本。
docker pull hyperledger/fabric-peer:latest
docker pull hyperledger/fabric-membersrvc:latest
docker pull hyperledger/fabric-starter-kit
docker pull ubuntu:trusty
docker pull ubuntu
4.2 添加本地标签
docker tag <image_name> <tag_name>
添加本地标签。
docker tag hyperledger/fabric-peer hyperledger/fabric-baseimage
4.3 镜像导入/导出
docker save -o <output_filename> <image_id> # 将镜像打包输出
docker load --input <input_filename> # 从文件中加载镜像
4.4 其他命令
docker info # 查看 docker 软件信息
docker version # 查看 docker 版本
docker images # 查看本地仓库镜像
docker ps -q # 查看正在运行的容器
docker ps -aq # 查看所有容器
docker stop $(docker ps -q) # 停止正在运行的所有容器
docker rm $(docker ps -aq) # 移除所有容器
参考资料:
- 官方文档:https://docs.docker.com/install/linux/docker-ce/ubuntu/
- 菜鸟教程:https://www.runoob.com/docker/ubuntu-docker-install.html