1.Docker入门概述
Docker概述
Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。容器是轻量级的,包含运行应用程序所需的一切,因此不需要依赖主机上安装的内容。
Docker架构
Docker 使用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护进程可以在同一系统上运行,也可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护进程使用 REST API 通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序。

Docker主要概念
Docker守护进程
Docker 守护进程 ( dockerd) 侦听 Docker API 请求并管理 Docker 对象,例如映像、容器、网络和卷。守护进程还可以与其他守护进程通信来管理 Docker 服务。
Docker客户端
Docker 客户端 ( docker) 是许多 Docker 用户与 Docker 交互的主要方式。当您使用诸如 之类的命令时 docker run,客户端会将这些命令发送到 dockerd,由后者执行这些命令。该 docker命令使用 Docker API。Docker 客户端可以与多个守护进程通信。
Docker镜像
镜像是一个只读模板,包含创建 Docker 容器的说明。通常,一个镜像基于另一个镜像,并进行一些额外的自定义。
Docker容器
容器是在主机上运行的沙盒进程,与该主机上运行的所有其他进程隔离。
Docker安装
主要步骤:
- 安装docker组件
- 设置加速镜像
安装docker组件
手动安装
#安装docker组件
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
#设置自启
systemctl start docker && systemctl enable docker
#查看docker版本
docker version
#测试运行
docker run hello-world
设置镜像加速
使用阿里云docker镜像加速服务
登录阿里云中心找到镜像服务,复制镜像加速内容,通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF' {"registry-mirrors":["https://o8bvcxsy.mirror.aliyuncs.com"]} EOF
systemctl daemon-reload
systemctl restart docker
自动化脚本安装
使用以下脚本安装docker。
#!/bin/bash
#setup repo of docker
install_repo(){
location_status=1 # 0:china source !0:office source
yum install -y yum-utils
if [ $location_status -eq 0 ];then
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
else
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
fi
yum makecache fast
}
#install docker
install_docker(){
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker && systemctl enable docker
}
#check_install_status
check_docker(){
docker version
echo "================================="
if [ $? -eq 0 ];then
echo "docker already installed"
else
echo "docker not installed"
fi
echo "================================="
}
#set up aliyun image accelerator
setup_aliyun(){
if [ $location_status -eq 0 ];then
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1o70ffe58r.mirror.aliyuncs.com"]
}
EOF
fi
systemctl daemon-reload
systemctl restart docker
}
install_repo
install_docker
setup_aliyun
check_docker
也可以直接运行脚本,脚本会自动安装docker
curl https://blog.badhydra.com/upload/install_docker.sh | bash
学习大纲
- Docker概述
- Docker安装
- Docker命令
- 镜像命令
- 容器命令
- 操作命令
- Docker镜像
- 容器数据卷
- DockerFile
- Docker网络原理
- IDEA整合Docker
- Docker Compose
- Docker Swarm
- CI\CD jenkins