Docker-----环境搭建 -- Docker、Docker-compose、protainer
1. Windows系统安装
1.1 环境检查
- docker for windows只适用于win8以上的系统,win10是现在的主流,所以这里我将介绍的是win10系统中docker的安装和使用
- 开启电脑的虚拟化,一般电脑都是默认开启的。可以在任务管理器->性能->CPU下查看虚拟化是否开启。
- 查看Hyper-v是否开启,启用Hyper-v可以在电脑中配置虚拟机。开启步骤:控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上->最后重启电脑就可以了。
1.2 Win10家庭版 找不到Hyper-V的解决办法
1. 打开控制面板
1. 首先打开控制面板,选择: 程序
2. 选择: 启用或关闭Windows功能
3. 点击Hyper-V进行关闭或打开
2. 如果没有Hyper-V
1. 在Win10搜索框,搜索PowerShell
2. 打开 Windows PowerShell,输入 systeminfo 命令,能够看到出现了很多处理器的信息,最末尾有个 Hyper-V 要求,如果四个全为 “是”,则表示支持 Hyper-V 功能。
3. 桌面新建一个记事本文件,复制下面的代码,将它的后缀改成cmd或bat
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
4. 然后,右键选择:以管理员身份运行。代码执行结束后,重启电脑
1.3 官方下载网址
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
1.4 配置
注册登录账号
下载安装完成后,双击图标进入,程序在运行的话,桌面右下角通知栏会有一个小鲸鱼的图标。这里需要注册登录一个账号,可以在官网注册一个账号。官网链接:https://hub.docker.com/
1.5 配置docker镜像加速
为什么要配置镜像加速,因为docker在国内的下载速度特别慢,所以我们通常会在配置一下镜像加速。一般用的是阿里云的免费加速。配置步骤:登录阿里云->控制台->搜索容器镜像服务(或者左上角产品与服务中找),然后就是下面的图片示例:
复制加速器地址,将地址粘贴到registry-mirrors的json字符串中。
2. Linux系统安装
2.0 官方文档地址
https://docs.docker.com/engine/install/centos/
2.1 Cent OS 7 (64-bit) 系统 (旧版)
要求操作系统为64位,Linux系统内核版本为3.8以上,这里选用Centos 7.x
0. 查看当前系统相关信息
# 内核版本号、硬件架构、主机名称和操作系统类型等
cat /etc/redhat-release
# 内核版本号
uname -r
1. 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 更换yum源
1. 备份默认yum源
mkdir /opt/centos-yum.bak
mv /etc/yum.repos.d/* /opt/centos-yum.bak/
2. 更换yum源
1. 查看系统版本
cat /etc/redhat-release
2. 替换阿里云 yum 源
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 配置宿主机网卡转发
## 配置网卡转发,看值是否为1
sysctl -a |grep -w net.ipv4.ip_forward
## 若未配置,需要执行如下
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF
sysctl -p /etc/sysctl.d/docker.conf
4. 缓存更新
yum clean all && yum makecache
3. 安装 Docker
0. 默认是安装最新稳定版本
yum install -y docker-ce
1. 指定版本安装
1. 查看当前所有仓库中所有 docker 版本
yum list docker-ce --showduplicates | sort -r
2. 指定版本安装
sudo yum install docker-ce-17.12.1.ce
2. 配置阿里云镜像加速
阿里云免费申请docker仓库加速服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker # docker默认加载这个文件
vi /etc/docker/daemon.json
# 将下面加速服务复制到daemon.json文件中
{
"registry-mirrors": ["https://u7vs31xg.mirror.aliyuncs.com"]
}
**3. 启动 docker 并将其加入开机启动 **
sudo systemctl start docker # 启动docker
sudo systemctl enable docker # 设置开机自启动
systemctl status docker # 查看docker状态
systemctl enable docker --now # 开启自启动,且立刻启动
4. 验证是否安装成功
只要有 client 和 service 两部分则表示 docke安装启动都成功了
docker version
2.2 Cent OS 7 (64-bit) 系统( 新版)
0. 查看当前系统相关信息
# 内核版本号、硬件架构、主机名称和操作系统类型等
cat /etc/redhat-release
# 内核版本号
uname -r
1. 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装软件包
sudo yum install -y yum-utils
3. 设置 stable 镜像仓库为阿里云
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 更新 yum 软件包索引
yum makecache fast
5. 安装 Docker
1. 查看当前所有仓库中所有 docker 版本,可以指定版本安装
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-17.12.1.ce
2. 安装命令
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. 阿里云镜像加速
阿里云免费申请docker仓库加速服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker # docker默认加载这个文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ygttkt9y.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts":{
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
腾讯云服务器对阿里云加速有限制,需要修改为如下配置
sudo mkdir -p /etc/docker # docker默认加载这个文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts":{
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
7. 启动 Docker
sudo systemctl start docker # 启动docker
sudo systemctl enable docker # 设置开机自启动
systemctl status docker # 查看docker状态
8. 测试
docker version
sudo docker run hello-world
9. 卸载
sudo systemctl stop docker
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
3. 安装 Docker Compose
1. 安装pip3
yum -y install python3-pip
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 安装docker-compose
pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
3. 查看版本,检查是否安装成功
docker-compose version
4. 可视化界面Portainer
4.1 下载
先在docker中搜索查看Portainer镜像有哪些(docker search portainer)
选择第一个portainer/portainer下载(docker pull portainer/portainer)
4.2 运行
运行portainer镜像生成portainer容器
运行portainer分为单机运行和集群运行,由于我们是用来开发和测试,这里选择单机运行。以下是命令行:
# 可以指定多个端口
docker run -d -p 8000:8000 -p 9000:9000 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer
4.3 注册 & 登录
1. 输入127.0.0.1:9000 ,登录portainer
2. 首次登陆需要注册用户,默认用户是admin,可以不管,密码长度大于8位
3. 选择Local,管理本地的Docker运行环境
4. 选择完毕后的界面
4.4 使用
输入账户和密码登录
登录成功后就可以看到自己的docker实例了
点击docker,你可以看到自己的镜像(images)和容器(containers)
在容器中,不用命令就可以管理容器。不过对容器参数进行i修改后需要重启容器才能生效。
可以添加新镜像(需要配置加速,不然下载速度很慢,有时候就算加速了也比较慢,可以换个加速器)
还可以搜索常用镜像下载