Docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。-- 百度百科
Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及 AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。
Linux安装Docker
本文只提供CentOS安装教程,请前往官方教程文档了解更多信息。
操作系统要求
要安装Docker Engine,您需要CentOS 7的维护版本,不支持或未测试存档版本。
必须启用centos-extras存储库。该存储库默认情况下处于启用状态,但是如果已禁用它,则需要重新启用它。
建议使用overlay2存储驱动程序。
设置仓库
在新主机上首次安装Docker Engine之前,需要设置Docker仓库。之后,您可以从存储库安装和更新Docker。
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
可用源地址:
官方源地址(比较慢):https://download.docker.com/linux/centos/docker-ce.repo
阿里云(推荐):http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装Docker引擎
-
安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
-
要安装特定版本的Docker Engine,请在存储库中列出可用版本:
$ yum list docker-ce --showduplicates | sort -r
然后选择并安装:
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
此时,Docker已安装但尚未启动。该docker组已创建,但没有用户添加到该组。
-
启动Docker
$ sudo systemctl start docker
-
验证
验证是否正确安装了Docker Engine,输入如下命令,查看Docker版本信息。$ docker version
配置镜像加速器
可前往阿里云容器镜像服务获取镜像仓库地址。
配置方式如下:
$ mkdir -p /etc/docker
$ tee /etc/docker/daemon.json <<-'EOF'
{
"debug" : true,
"registry-mirrors": ["https://dpayzz9i.mirror.aliyuncs.com"],
"default-address-pools" : [
{
"base" : "172.31.0.0/16",
"size" : 24
}
]
}
EOF
国内加速地址:
Docker中国区官方镜像:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
ustc:https://docker.mirrors.ustc.edu.cn
中国科技大学:https://docker.mirrors.ustc.edu.cn
设置开机自启
```
$ systemctl daemon-reload
$ systemctl restart docker
$ systemctl enable docker
```
Docker安装脚本(干货)
#!/bin/bash
############################################################################################
# Name: install_docker.sh
# Version: v1.0.0
# Function: Automatic deployment and installation of docker-ce based on CentOS 7.x system
# Author: rannuo <rannuo1010@gmail.com>
# Create Date: 2020-01-08
############################################################################################
#环境检测
function env_check(){
#检测Linux内核版本
kernel_version=`uname -r | awk -F "." '{print $1}'`
if [[ ${kernel_version} -lt 3 ]];then
echo "Linux内核版本太低,请升级内核版本至3.x以上!当前内核版本:"`uname -r`
exit 1
else
echo "Linux内核版本检测通过!当前内核版本:"`uname -r`
fi
}
#输入确认提示
function confirm_input() {
input_flag=true
while ${input_flag}
do
read -p "请输入[Y/N]: " input
case ${input} in
[yY][eE][sS]|[yY])
input_flag=false
return 1
;;
[nN][oO]|[nN])
input_flag=false
return 0
;;
*)
echo "Invalid input..."
;;
esac
done
}
#卸载Docker
function docker_uninstall(){
# 卸载Docker软件
rpm -qa | grep docker | xargs yum remove -y
# 删除Docker运行时数据
rm -rf /var/lib/docker
}
#安装Docker
function docker_install(){
echo "检查Docker..."
docker -v
if [[ $? -eq 0 ]]; then
echo "检查到Docker已安装!是否需要卸载后重新安装?"
`confirm_input`
if [[ $? -eq 0 ]]; then
exit
fi
`docker_uninstall`
echo "Docker已卸载完成!"
fi
echo "开始安装Docker环境..."
# 安装所需的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置yum源(这里使用阿里的源)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
&& yum makecache fast
# 执行安装
yum install -y docker-ce docker-ce-cli containerd.io
# 配置镜像下载加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8cl6jgv2.mirror.aliyuncs.com"]
}
EOF
# 启动docker并配置开机启动
systemctl start docker
systemctl enable docker
# 配置当前用户对Docker命令的执行权限
groupadd docker
gpasswd -a ${USER} docker
# 重启Docker服务
systemctl restart docker
echo "安装docker环境完成!"
# 查看版本信息
docker version
}
# 执行函数
env_check
docker_install
安装Docker Compose
Compose 简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过docker-compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
在Linux系统上安装
- 运行以下命令以下载Docker Compose的当前稳定版本(要安装其他版本的Compose,请替换1.26.2 为要使用的Compose版本)
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
- 测试安装
提示:请前往官方安装教程了解更多Docker Compose安装信息。$ docker-compose --version
Docker与Kubernets
Docker 和 Kubernetes 是 IT 世界最热门的两种技术。关于Kubernets的相关内容,在后续的高级篇章会有相关的介绍,敬请期待…