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