docker的安装

傻男人 1年前 ⋅ 2030 阅读

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


全部评论: 0

    我有话说: