Docker安装与配置


Docker是管理容器的工具,Docker不等于容器。

一、CentOS7安装Docker

1.1、docker yum源设置

# 安装依赖
[root@zuolaoshi ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 下载Docker官方yum源
[root@zuolaoshi ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -P /etc/yum.repos.d/

# 替换成清华源
[root@zuolaoshi ~]# sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

1.2、docker 安装

1.2.1、卸载旧版本

[root@zuolaoshi ~]#  yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

1.2.2、安装docker

[root@zuolaoshi ~]# yum -y install  docker-ce

1.2.3、启动docker

[root@zuolaoshi ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@zuolaoshi ~]# systemctl start docker

1.3、验证启动

[root@zuolaoshi ~]# systemctl status docker

1.4、验证版本

[root@zuolaoshi ~]# docker -v
docker -v
Docker version 26.0.1, build d260a54

二、Ubuntu安装Docker

  • 在Ubuntu系统中安装Docker时,官方推荐Ubuntu系统最好是64位,可以在终端执行uname -a命令查看当前系统是否位64位操作系统。

2.1、卸载残留Docker软件包

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

2.2、更新软件包

  • 在终端中执行以下命令来更新Ubuntu软件包列表和已安装软件的版本升级
sudo apt update
sudo apt upgrade

2.3、安装Docker依赖

  • Docker在Ubuntu上依赖一些软件包,执行以下命令来安装这些依赖
apt-get -y install ca-certificates curl gnupg lsb-release

2.4、添加Docker官方GPG密钥

  • 执行以下命令来添加Docker官方的GPG密钥
# 最终回显OK表示运行命令正确
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

2.5、添加Docker软件源

  • 注意:该命令需要使用root权限
  • 执行以下命令来添加Docker的软件源
# 需要管理员交互式按一下回车键
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

2.6、安装Docker

  • 执行以下命令安装Docker
apt-get -y install docker-ce docker-ce-cli containerd.io

2.7、配置用户组(可选)

  • 默认情况下,只有root用户和Docker组的用户才能运行Docker命令。我们可以将当前用户添加到Docker组,以避免每次使用时都需要使用sudo。
  • 注意:重新登录才能使更改生效
sudo usermod -aG docker $USER

三、docker client 和 daemon分离

docker client 与 daemon分离

# 1、关闭docker
[root@zuolaoshi ~]# systemctl stop docker

# 2、修改docker启动方式,要求加载配置文件启动
[root@zuolaoshi ~]# sed -i.bak '/^ExecStart=/c\ExecStart=\/usr\/bin\/dockerd' /usr/lib/systemd/system/docker.service

# 3、设置docker配置文件,默认没有
# 设置允许监听地址和端口,以及sock文件连接
# 默认是使用sock方式连接,加tcp://0.0.0.0:2375可实现远程管理
# registry-mirrors设置国内镜像站,加速下载镜像

[root@zuolaoshi ~]# vim /etc/docker/daemon.json
{
 "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],
 "registry-mirrors":["https://docker.rainbond.cc"]
}

4、重载docker服务、重启docker生效配置
[root@zuolaoshi ~]# systemctl daemon-reload
[root@zuolaoshi ~]# systemctl restart docker

5、查看docker的监听地址和端口
[root@zuolaoshi ~]# netstat -ntpl |grep 2375
tcp6   0  0 :::2375  :::*   LISTEN 21219/dockerd

6、客户端连接docker daemon,执行命令
[root@zuolaoshi ~]# docker -H 192.168.8.50 images