docker安装
一、centos7 的安装方式
1、安装必要的一些系统工具
sudo yum clean all && yum update && yum makecache
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
4、开启Docker服务
sudo service docker start
镜像加速
针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["172.16.10.152:5000"],
"data-root": "/var/lib/docker"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、centos6 的安装方式
yum install -y epel-release
yum install -y docker-io
安装后的配置文件:
/etc/sysconfig/docker
启动docker:
service docker start
三、windows安装docker需要注意的事项:
一.需要安装Docker Toolbox工具;
二.设置镜像加速:
- 1、运行docker-machine ssh default连接虚拟机
- 2、修改
docker@default:~$ sudo tee /var/lib/boot2docker/etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
EOF
- 3、退出ssh,重启docker-machine restart default
其他的命令:
- 运行docker-machine stop default,停止运行中的虚拟机
- 运行docker-machine rm default,删除默认的虚拟机
四、脚本一键安装
#!/bin/bash
# 1. 检查是否已安装Docker
if command -v docker &> /dev/null; then
echo "Docker 已经安装"
exit 0
fi
echo "安装 Docker..."
echo "docker 安装必要的一些系统工具"
sudo yum -y clean all && yum -y update && yum -y makecache && yum install -y yum-utils device-mapper-persistent-data lvm2
echo "docker 添加软件源信息"
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo "docker 更新并安装 Docker-CE"
sudo yum -y makecache fast
sudo yum -y install docker-ce
echo "docker 配置daemon.json"
# 检查 /etc/docker/daemon.json 文件是否存在
if [ -e /etc/docker/daemon.json ]; then
echo "daemon.json 文件已存在,准备备份..."
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bakf
else
echo "daemon.json 文件不存在,准备创建..."
fi
sudo touch /etc/docker/daemon.json
# 在这里写入新的配置
docker_config='{
"registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["192.168.1.121:5000"],
"data-root": "/data/docker",
"log-driver":"json-file",
"log-opts": {"max-size":"200m", "max-file":"5"}
}'
# 写入新的配置
sudo tee /etc/docker/daemon.json <<EOF
$docker_config
EOF
echo "设置 Docker 开机启动..."
sudo systemctl start docker && systemctl enable docker
# 定义文件路径和服务配置项
service_file="/usr/lib/systemd/system/docker.service"
target_line="/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock"
insert_string="-H tcp://0.0.0.0:2375"
# 检查配置项是否已存在于文件中
if grep -qE "(^|\s)$insert_string($|\s)" "$service_file"; then
echo "docker.service config already exists in the file. No changes made."
else
# 使用sudo执行sed命令,确保有足够的权限
sudo sed -i "/^ExecStart=/ s|$target_line|$target_line $insert_string|g" "$service_file"
if [ $? -eq 0 ]; then
echo "docker.service configuration successfully updated..."
else
echo "docker.service config update error..."
fi
fi
sudo systemctl daemon-reload && systemctl restart docker
echo "安装 Docker Swarm..."
sudo docker swarm init --advertise-addr $(hostname -i)
echo "安装 docker-Compose..."
compose_version=v2.20.3 # 替换为您需要的版本号
curl -SL "https://github.com/docker/compose/releases/download/$compose_version/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
echo "Docker 安装完成...重启中..."
sudo systemctl restart docker
echo "Docker 安装完成并且重启完成..."
五、其他的安装方式
- 1、 更新软件包和系统内核(等待更新完,需要一定的时间)
yum update
- 2、清空历史
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
- 3、安装必要的包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 4、添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 5、更新 yum 缓存
sudo yum makecache fast
- 6、查询可用的docker版本
yum list docker-ce --showduplicates | sort -r
- 7、安装docker
sudo yum install docker-ce-版本号 (as: sudo yum install docker-ce-18.06.3.ce-3.el7)
六、安装可能存在的问题
a、问题一
failure: repodata/repomd.xml from mirrors.aliyun.com_docker-: [Errno 256] No more mirrors to try.
http://mirrors.aliyun.com/docker-/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
1、进入目录
cd /etc/yum.repos.d
2、执行rm -rf删除所有
rm -rf *
3、更新yum
yum update
4、再按照步骤安装docker
b、启动时,出现 Failed to start docker.service: Unit not found
[root@anjingsi ~]# sudo service docker start
Failed to start docker.service: Unit not found.
1、这是因为缺少 rhel-push-plugin.socket 单元,该单元是rhel-push-plugin软件包的一部分。所以执行以下指令就可以成功解决:
curl -sSL https://get.docker.com/ | sh
注意:本文归作者所有,未经作者允许,不得转载