1、安装

1、使用官方脚本一键安装

(1)下载并运行脚本

执行以下命令,脚本会自动配置 yum 源并安装 Docker Engine 及其插件。

ps:龙蜥暂未适配,所以采用2安装

[root@Anolist ~]# curl -fsSL https://get.docker.com -o get-docker.sh
[root@Anolist ~]# sh get-docker.sh

或者用轩辕,这个可以识别龙蜥,直接免去了配置代理

[root@Anolis2 ~]# bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

2、手动配置 yum 仓库安装

(1)安装依赖

[root@Anolist ~]# yum -y install yum-utils

(2)添加docker的yum源

[root@Anolist ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加仓库自:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)安装docker引擎

执行安装命令,这将安装最新的稳定版 Docker Engine、CLI、containerd 以及必要的插件 (Buildx 和 Compose)。

[root@Anolist ~]# yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2、查看

启动docker并设置开机自启

[root@Anolist ~]# systemctl start docker
[root@Anolist ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@Anolist ~]# docker --version
Docker version 26.1.3, build b72abbb

docker info查看

[root@Anolist ~]# docker info
Client: Docker Engine - Community
 Version:    26.1.3
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.14.0
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 26.1.3
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: false
  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 splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.10.134-18.an8.x86_64
 Operating System: Anolis OS 8.10
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.605GiB
 Name: Anolist
 ID: 442ac16d-e79d-427f-b241-bf63f6b9847a
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

3、配置代理加速

(1)编辑/etc/docker/daemon.json

[root@Anolist ~]# vi  /etc/docker/daemon.json

(2)添加内容

这里的网站自己去网上搜就可以,注意格式

{"registry-mirrors": [
"https://docker.1panel.dev",
"https://docker.fxxk.dedyn.io",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.m.daocloud.io",
"https://a.ussh.net",
"https://docker.zhai.cm"]}

(3)重新加载配置并重启docker

[root@Anolist ~]# systemctl daemon-reload
[root@Anolist ~]# systemctl restart docker

拉取镜像测试
[root@Anolist ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
206356c42440: Downloading [>                                                  ]  298.7kB/29.78MB
75a1d70aee50: Downloading [=>                                                 ]  687.4kB/33.16MB
75a1d70aee50: Downloading [=>                                                 ]  1.031MB/33.16MB
df9da45c1db2: Download complete
18a071c04bd1: Download complete
79697674b897: Download complete
9eef040df109: Download complete

4、docker常用命令

(1)基础信息

[root@Anolist ~]# docker version                                # 查看Docker客户端+服务端版本
[root@Anolist ~]# docker info                                   # 查看Docker详细配置信息(镜像、容器、存储等)
[root@Anolist ~]# systemctl status docker                       # Linux查看Docker服务运行状态
[root@Anolist ~]# systemctl start docker                        # Linux启动Docker服务
[root@Anolist ~]# systemctl stop docker                         # Linux停止Docker服务
[root@Anolist ~]# systemctl restart docker                      # Linux重启Docker服务

(2)镜像管理

[root@Anolist ~]# docker search nginx                           # 从Docker Hub搜索nginx镜像(可替换为其他镜像名)
[root@Anolist ~]# docker pull nginx                             # 拉取nginx最新版镜像
[root@Anolist ~]# docker pull nginx:1.24                        # 拉取nginx指定版本(1.24)镜像
[root@Anolist ~]# docker images                                 # 查看本地所有镜像(简写:docker image ls)
[root@Anolist ~]# docker inspect nginx                          # 查看nginx镜像详细信息(可替换为镜像名/ID)
[root@Anolist ~]# docker rmi nginx:1.24                         # 删除nginx指定版本镜像(需无容器依赖)
[root@Anolist ~]# docker rmi 828b7ec29888                       # 按镜像ID删除镜像
[root@Anolist ~]# docker rmi -f nginx                           # 强制删除nginx镜像(忽略容器依赖)
[root@Anolist ~]# docker image prune                            # 清理悬空镜像(无标签的无用镜像)
[root@Anolist ~]# docker image prune -a                         # 清理所有未被容器使用的镜像

(3)容器管理

[root@Anolist ~]# docker run -d -p 8080:80 --name my-nginx nginx # 后台启动nginx容器,映射主机8080到容器80,命名为my-nginx
[root@Anolist ~]# docker run -it --rm centos /bin/bash          # 交互式启动centos容器,退出后自动删除容器
[root@Anolist ~]# docker start my-nginx                         # 启动已停止的my-nginx容器(可替换为容器名/ID)
[root@Anolist ~]# docker start 9f87654321                       # 按容器ID启动容器

(4)查看日志

[root@Anolist ~]# docker ps                                     # 查看正在运行的容器(简写:docker container ls)
[root@Anolist ~]# docker ps -a                                  # 查看所有容器(包含已停止的)
[root@Anolist ~]# docker logs my-nginx                          # 查看my-nginx容器日志(可替换为容器名/ID)
[root@Anolist ~]# docker logs -f my-nginx                       # 实时跟踪my-nginx容器日志
[root@Anolist ~]# docker stats my-nginx                         # 查看my-nginx容器资源使用情况(CPU、内存等)

(5)容器进入

[root@Anolist ~]# docker exec -it my-nginx /bin/bash            # 进入运行中的my-nginx容器(交互式终端)
[root@Anolist ~]# docker cp /本地路径/nginx.conf my-nginx:/etc/nginx/nginx.conf # 主机文件复制到容器
[root@Anolist ~]# docker cp my-nginx:/var/log/nginx/access.log /本地路径/ # 容器文件复制到主机

(6)容器删除

[root@Anolist ~]# docker stop my-nginx                          # 停止my-nginx容器(可替换为容器名/ID)
[root@Anolist ~]# docker stop 9f87654321                        # 按容器ID停止容器
[root@Anolist ~]# docker kill my-nginx                          # 强制停止my-nginx容器(类似kill命令)
[root@Anolist ~]# docker rm my-nginx                            # 删除已停止的my-nginx容器
[root@Anolist ~]# docker rm -f my-nginx                         # 强制删除运行中的my-nginx容器
[root@Anolist ~]# docker container prune                        # 清理所有已停止的容器

(7)数据卷管理

[root@Anolist ~]# docker volume create nginx-data               # 创建名为nginx-data的自定义数据卷
[root@Anolist ~]# docker volume ls                              # 查看本地所有数据卷
[root@Anolist ~]# docker volume inspect nginx-data              # 查看nginx-data卷的详细信息(如挂载路径)
[root@Anolist ~]# docker run -d -p 8080:80 --name my-nginx -v nginx-data:/usr/share/nginx/html nginx # 启动容器并挂载卷
[root@Anolist ~]# docker volume rm nginx-data                   # 删除nginx-data数据卷(需无容器使用)
[root@Anolist ~]# docker volume prune                           # 清理未被使用的所有数据卷

(8)多容器管理

[root@Anolist ~]# docker-compose up -d                          # 后台启动docker-compose.yml定义的服务
[root@Anolist ~]# docker-compose ps                             # 查看Compose管理的容器状态
[root@Anolist ~]# docker-compose stop                           # 停止Compose服务(保留容器)
[root@Anolist ~]# docker-compose down                           # 停止并删除Compose容器、网络(保留卷)
[root@Anolist ~]# docker-compose down -v                        # 停止并删除Compose容器、网络、数据卷

更多推荐