【目录导览】
1.Docker入门:什么是Docker?如何安装Docker?
2.Docker入门:Docker命令
3.Docker实战:Docker部署Nginx
4.Docker实战:Docker部署Tomcat
5.Docker实战:Docker部署MySQL
6.Docker镜像:什么是Docker镜像?Docker镜像加载原理?
7.Docker容器:什么是Docker容器?
8.Docker数据卷:数据交互、数据卷、数据卷容器
9.Docker镜像制作:Commit和DockerFile
10.Docker入门学习回顾小结
11.Docker网络:基础原理&示例
12.Docker网络:容器互联之–link
13.Docker网络:容器互联之自定义网络
14.Docker网络:容器互联之不同网络间的容器互联
1.什么是Docker
1.Docker的本质也是一个可以通过yum下载并安装的工具;
2.可以使用Docker下载某些镜像,如:centos、nginx、tomcat、mysql等镜像;
3.Docker可以基于已下载的镜像创建一个容器,并且使用创建好的容器;
4.镜像和容器的关系就像类和对象、程序代码和进程、模板和实例的关系;
5.容器和虚拟机之间的关系:一个虚拟机可以包含多个容器,容器与容器之间相互独立,可以简单理解成容器是虚拟机内创建的微型虚拟机;
6.容器不仅仅可以创建在虚拟机上,也可以直接在物理机上创建并使用,所以第5点同样适用于物理机;
总结:简单来说就是Docker这个工具可以创建一个个独立的运行环境(微型虚拟机/物理机),隔离性强,轻量,灵活(可以根据需要下载镜像并创建容器)。
2.如何安装Docker
环境要求:centos 7以上
2.1.执行下面脚本即可完成安装
#! /bin/bash
# 清除旧版本的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 下载安装包
sudo yum install -y yum-utils
# 配置镜像仓库,这里采用国内的源
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
yum makecache fast
# 安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
2.2.启动docker
systemctl start docker
2.3.查看docker版本
docker version
# 可以看到如下内容:
Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:46:54 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:45:28 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
2.4.配置镜像加速器
这里以阿里云的镜像加速为例,可自行搜索“阿里云如何设置镜像加速”
# 复制以下内容到终端,并执行
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uybwo9fr.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.5.卸载docker
# 卸载依赖
sudo yum remove docker-ce docker-ce-cli containerd.io
# 删除docker默认的工作路径下所有的内容
sudo rm -rf /var/lib/docker