内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档介绍Docker容器技术的基础知识和安装配置方法。
风哥提示:
Part01-Docker概述
1.1 Docker简介
[root@docker ~]# cat > /root/docker-intro.txt << 'EOF' Docker核心概念 ============= 1. 镜像(Image) - 只读模板 学习交流加群风哥微信: itpux-com- 包含运行环境 - 分层存储 2. 容器(Container) - 镜像的运行实例 - 隔离的进程 - 可读写层 3. 仓库(Registry) - 镜像存储中心 - 公有/私有仓库 - 版本管理 4. 核心优势 - 轻量级虚拟化 - 快速部署 - 环境一致性 - 资源隔离 EOF # 安装Docker [root@docker ~]# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo [root@docker ~]# dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 启动Docker服务 [root@docker ~]# systemctl enable --now docker Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service. # 查看Docker版本 [root@docker ~]# docker version Client: Docker Engine - Community Version: 24.0.7 API version: 1.43 Go version: go1.20.10 Git commit: afdd53b Built: Thu Oct 26 09:08:01 2023 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 24.0.7 API version: 1.43 (minimum version 1.12) Go version: go1.20.10 Git commit: 311b9ff Built: Thu Oct 26 09:08:01 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.24 GitCommit: 61f9fd88f79f081d64d6fa3bbb1b0e01 runc: Version: 1.1.9 GitCommit: v1.1.9-0-gccaecfc docker-init: Version: 0.19.0 GitCommit: de40ad0 # 查看Docker信息 [root@docker ~]# docker info Client: Docker Engine - Community Version: 24.0.7 Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.11.2 compose: Docker学习交流加群风哥QQ113257174 Compose (Docker Inc.) Version: v2.21.0 Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 24.0.7 Storage Driver: overlay2 Backing Filesystem: xfs Cgroup Driver: systemd Cgroup Version: 2 Kernel Version: 5.14.0-284.11.1.el9_2.x86_64 Operating System: Rocky Linux 9.3 OSType: linux Architecture: x86_64 CPUs: 4 Total Memory: 7.5GiB Name: docker.fgedu.net.cn ID: ABCD-1234-EFGH-5678 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
Part02-镜像管理
2.1 镜像操作
[root@docker ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 17000 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 2100 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable … 800 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 500 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 400 [OK]
# 拉取镜像
[root@docker ~]# docker pull nginx:latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest: sha256:0d17b565c37bcbd895e9d92315a05ed186083e3d3b3a8d1f9f5d3b9d5d5d5d5d
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 查看本地镜像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 2 weeks ago 141MB
# 查看镜像详情
[root@docker ~]# docker inspect nginx:latest
[
{
“Id”: “sha256:605c77e624dd751e2b3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d”,
“RepoTags”: [
“nginx:latest”
],
“RepoDigests”: [
“nginx@sha256:0d17b565c37bcbd895e9d92315a05ed186083e3d3b3a8d1f9f5d3b9d5d5d5d5d”
],
“Created”: “2026-04-01T00:00:00.000000000Z”,
“Size”: 141298678,
“VirtualSize”: 141298678,
“GraphDriver”: {
“Data”: {
“LowerDir”: “/var/lib/docker/overlay2/abc123/diff:/var/lib/docker/overlay2/def456/diff”,
“MergedDir”: “/var/lib/docker/overlay2/abc123/merged”,
“UpperDir”: “/var/lib/docker/overlay2/abc123/diff”,
“WorkDir”: “/var/lib/docker/overlay2/abc123/work”
},
“Name”: “overlay2”
},
“RootFS”: {
“Type”: “layers”,
“Layers”: [
“sha256:a2abf6c4d29d1234567890abcdef1234567890”,
“sha256:a9edb18cadd11234567890abcdef12345678901”,
“sha256:589b7251471a1234567890abcdef12345678902”
]
}
}
]
# 镜像标签管理
[root@docker ~]# docker tag nginx:latest fgedu/nginx:v1.0
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 2 weeks ago 141MB
fgedu/nginx v1.0 605c77e624dd 2 weeks ago 141MB
# 删除镜像
[root@docker ~]# docker rmi fgedu/nginx:v1.0
Untagged: fgedu/nginx:v1.0
# 导出镜像
[root@docker ~]# docker save nginx:latest -o nginx-latest.tar
[root@docker ~]# ls -lh nginx-latest.tar
-rw——-. 1 root root 140M Apr 4 05:00 nginx-latest.tar
# 导入镜像
[root@docker ~]# docker load -i nginx-latest.tar
Loaded image: nginx:latest
# 查看镜像历史
[root@docker ~]# docker history nginx:latest
IMAGE CREATED CREATED BY SIZE COMMENT
605c77e624dd 2 weeks ago /bin/sh -c #(nop) CMD [“nginx” “-g” “daemon… 0B
- 使用官方镜像确保安全
- 指定镜像版本标签
- 定期清理无用镜像
- 配置镜像加速器
- 使用私有仓库管理镜像
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
