第一部分 快速开始并运行你的 Docker
该部分介绍如何安装, 配置, 并在本地使用简单的 Docker
容器.该部分包括:
- 第一章,
Docker
简介 - 第二章, 构建
Docker
镜像 - 第三章, 存储与发布镜像
- 第四章, 管理容器
- 第五章, 使用
Docker
Compose
运行多镜像 - 第六章, 使用
Docker
Machine
,Vagrant
, 以及Multipass
第一章 Docker
简介
无论你是否在使用 Docker
, 还是要了解一下基础, 对你理解后续的内容, 或提升学习效率有一定好处.
学完本书, 你将成为 Docker
专家.
本章我们会介绍
- 理解
Docker
- 专用主机, 虚拟机, 以及
Docker
之前的区别 Docker
命令Docker
与容器的生态
1.1 技术要求
要安装 Docker
, 请确保下列条件:
- macOS High Sierra 以上的系统
- Win10 专业版
- Ubuntu 18.04 以上的系统
- 可以看视频: https://bit.ly/35fytE3
1.2 理解 Docker
在安装之前, 看看 Docker
解决了什么问题.
1.2.1 开发者
开发环境与部署环境不同. 开发时好好的, 运维就出问题等.
开发环境与生产环境是不一样的
可由 Dickerfile
来生成镜像, 或使用 Docker Compose
来处理镜像.
1.2.2 运维人员
一次性部署多台服务器. 同时要兼容不同运行时环境的应用, 而这些运行时环境可能冲突.
使用不同容器来运行不同运行时的应用. 互相隔离, 且可以协作.
1.2.3 企业
服务器的稳定运行, 新环境的加入, 测试环境的协作等.
1.3 专有主机, 虚拟机, 以及 Docker
的区别
专有主机:
虚拟机:
容器:
1.4 安装 Docker
首先是 OS 的基本要求 (支持)
- Linux
- Windows
- macOS
1.4.1 在 Linux 上安装 Docker
作者与我的习惯类似, 交给脚本去解决
事实上不同 OS 上安装是不完全一样的. 对于 macOS 与 Win 都是使用虚拟化技术来运行了 Linux 子系统, 然后在上面使用
Docker
. 因此它们都使用的是Docker Desktop
. 而不同的 Linux 发行版的细节也有所差异. 可以参考官方文档: 安装Docker
基本步骤
- 下载脚本运行
- 将当前用户加入
docker
组 - 查看版本以确保安装成功
最后补充一下, 配置加速镜像
书中介绍了
docker-compose
的命令与更新办法, 但是命令似乎有改动.
curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker <username>
设置开启启动
sudo systemctl enable docker
可用的加速源:
- 科大镜像:
https://docker.mirrors.ustc.edu.cn/
- 网易:
https://hub-mirror.c.163.com/
- 阿里云:
https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:
https://reg-mirror.qiniu.com
配置的代码片段:
"registry-mirrors": [
"https://iglfr1u0.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/",
"https://reg-mirror.qiniu.com"
]
2024年7月17日 这些现在都用不了了. 现在可以考虑使用
https://docker.rainbond.cc
1.4.2 在 mac 上安装 Docker Desktop
(略)
1.4.3 在 Win 上安装 Docker Desktop
(略)
1.4.4 较老的 OS 上
推荐使用 VirtualBox
虚拟机.
1.5 使用 Docker
命令
首先介绍一些常用的命令, 然后是镜像的命令, 最后是容器的命令.
首先是最常用的 help
命令, 它列举可用的子命令, 并使用 docker <subcommand> --help
来查看细节.
docker help | more
下一步, 我们简单运行一下 hello-world
容器, 执行下面的命令:
docker container run hello-world
不用在意是什么 OS 环境. 终端运行起来应该如下:
然后我们深入一下, 运行一个 nginx
容器, 它需要两条命令:
docker image pull nginx
docker container run -d --name nginx-test -p 8080:80 nginx
这两条命令, 一个是下载镜像, 一个是运行容器.
然后即可在浏览器中访问 http://localhost:8080.
后三个章节, 我们会讨论 Docker
命令的细节. 下面我们来停止容器, 并删除它.
docker container stop nginx-test
docker container rm nginx-test
这些命令可以在三个平台上分别运行, 会得到相同的效果.
1.6 Docker
与容器的生态
介绍背景与各个软件版本. 略.