容器引擎
Docker
是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux
或 Windows
操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;虚拟化容器技术,Docker
基于镜像,可以秒级的启动各种容器,每一种容器都是一个完整的运行环境,并且容器之间相互隔离;
卸载旧版本
查看 Docker
的安装包
yum list installed | grep docker
执行卸载命令:
js
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装依赖
中间需要确认几次,输入 y
回车即可。
js
# 安装所需资源包
yum install -y yum-utils
# 添加docker引擎镜像,设置docker下载地址
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 更新yum源搜索索引
yum makecache fast
# 安装docker
[root@S1 $]# yum list docker-ce --showduplicates | sort -r
Last metadata expiration check: 0:01:35 ago on Tue 06 Dec 2022 05:16:56 PM CST.
Installed Packages
docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.21-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.21-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.20-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.19-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.18-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.17-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.16-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.13-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.11-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.10-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
Available Packages
查看列表
yum list docker-ce --showduplicates | sort -r
启动服务
# 查看状态
systemctl status docker
# 启动服务
systemctl start docker
# 添加开机自启
systemctl enable docker
命令使用
js
# 查看docker的版本
docker -v
或
docker version
# 查看本地主机上已有镜像的基本信息。
docker images
添加镜像源
js
# 1、创建目录
mkdir -p /etc/docker
# 2、配置镜像加速器地址
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://rrnv06ig.mirror.aliyuncs.com",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
EOF
# 3、启动docker后台线程
systemctl daemon-reload 重新加载服务
# 4、重启docker服务
systemctl restart docker 重启docker
拉取镜像测试
js
# 拉取nginx镜像
docker pull nginx
# 删除指定的镜像
docker rmi 镜像名称/镜像 ID
# 删除所有的镜像
docker rmi `docker images -q`
说明:docker images -q
获取的所有镜像的 ID
查看镜像
# 查看拉取的镜像
docker images
特别说明:
列名 | 含义 | 备注 |
---|---|---|
REPOSITORY | 镜像所在的仓库名称 | |
TAG | 镜像标签 | 为了区分同一个仓库下的不同镜像,Docker 提供了一种称为标签(Tag)的功能。每个镜像在列出来时 都带有一个标签 |
IMAGE ID | 镜像的 ID | |
CREATED | 创建时间 | 镜像的创建日期(不是获取该镜像的日期) |
SIZE | 镜像大小 |
注: 这些镜像都是存储在 Docker
宿主机的 /var/lib/docker
目录下
常用命令
js
#启动 docker
systemctl start docker
#查看 docker 的启动状态
systemctl status docker
#关闭 docker
systemctl stop docker
#重启 docker
systemctl restart docker
# 添加开机自启
systemctl enable docker
#查看 docker 的概要信息
docker info
#查看 docker 的帮助文档
docker –help
知识扩展:
查看 docker
详细信息:
js
[root@S1 $]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
scan: Docker Scan (Docker Inc., v0.21.0)
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
Default Runtime: runc
Init Binary: docker-init
containerd version: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 4.18.0-348.7.1.el8_5.x86_64
Operating System: CentOS Stream 8
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.681GiB
Name: S1
ID: 5FTY:HV5Q:HQCN:Y5JF:5LQW:XO25:I37H:373Z:PB6D:2PT6:HIQL:JQIU
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false