Linux安装Docker(不废话!!!)

224 阅读4分钟

亲测:适用于Centos / 阿里云 / 腾讯云等

1. 基础配置

  • 安装net-tools (如果最小化安装linux,缺少网络工具需要安装net-tools)

    sudo yum install -y net-tools
    
  • 配置时区

    1. 查看当前系统的时区设置

      sudo timedatectl
      
    2. 列出所有可用的时区

      sudo timedatectl list-timezones
      
    3. 更改系统的时区(shanghai)

      sudo timedatectl set-timezone Asia/Shanghai
      
  • 创建数据目录

    1. 数据目录

      mkdir /data 
      
    2. docker容器目录

      mkdir /data/dockerFiles
      
    3. 常用软件目录

      mkdir /data/
      
    4. docker数据目录

      mkdir /data/docker_root_data
      
  • 快捷指令

    mkdir -p /data/{dockerFiles,devTools,docker_root_data}
    

2. docker安装

1. 安装最新版docker-ce

  1. 更新yum

    sudo yum update -y
    
  2. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 添加阿里的源

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  4. 更新并安装Docker-CE

    sudo yum makecache fast
    
  5. 安装最新版

    sudo yum install docker-ce docker-ce-cli containerd.io -y
    
  6. 安装后查看docker版本

    docker -v
    

2. 安装 docker-ce 指定版本

  1. 更新yum

    sudo yum update -y
    
  2. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 添加阿里的源

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  4. 查看有哪些包 该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。 例如:docker-ce-19.03.9。

    yum list docker-ce --showduplicates|sort -r
    
  5. 安装Docker-CE指定版本

    sudo yum install docker-ce-24.0.9 docker-ce-cli-24.0.9 containerd.io -y
    
  6. 安装后查看docker版本

    docker -v
    

3. Docker守护进程相关命令

  1. 启动docker

    systemctl start docker
    
  2. 停止docker

    systemctl stop docker
    
  3. 重启docker

    systemctl restart docker
    
  4. 查看docker状态

    systemctl status docker
    
  5. 开机启动

    systemctl enable docker
    
  6. 查看docker概要信息

    docker info
    

4. 设置docker镜像

  • Docker Hub 镜像拉取失败处理指南

    • 自 2024年 6月6日开始, 由于某些原因,Docker Hub官方仓库在国内已经无法拉取,云平台加速地址请求量高,可能也会出现下载失败、超时、copy 镜像失败等问题。小程序云属于国内云平台,目前收到不少同类问题的客诉。针对此类问题,本文会介绍两种解决方案:镜像加速、私有仓库。
  • 编辑配置文件(文件不存在需要创建)

    mkdir -p /etc/docker
    vi /etc/docker/daemon.json
    
    • 内容如下

      {
       "registry-mirrors": [
              "https://docker.1panel.live",
              "https://docker.m.daocloud.io",
              "https://pn9l864m.mirror.aliyuncs.com",
              "https://docker.mirrors.ustc.edu.cn"
          ],
       "data-root":"/data/docker_root_dir"
      }
      
    • 说明

      • "data-root":"/data/docker_root_dir"

        • 在安装Docker时,默认的安装路径是'/var/lib/docker',这也是Docker默认的安装路径。但是,如果你想将Docker安装到其他路径,那么你可以通过修改Docker的配置文件来实现。
  • docker info 验证

    • 查看结果:Docker Root Dir: /data/docker_data_root

5. 安装自动补全工具

  • 在Centos7上发现docker命令没有tab键自动补全,需要依赖bash-completion工具

    sudo yum install -y bash-completion
    source /usr/share/bash-completion/bash_completion
    source /usr/share/bash-completion/completions/docker
    
  • 重新启动 Docker

    sudo systemctl restart docker
    

3. 验证

# docker info
ClientDocker Engine - Community
 Version:    24.0.9
 Context:    default
 Debug Modefalse
 Plugins:
  buildxDocker Buildx (Docker Inc.)
    Version:  v0.13.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  composeDocker Compose (Docker Inc.)
    Version:  v2.26.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers11
  Running7
  Paused0
  Stopped4
 Images13
 Server Version24.0.9
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_typetrue
  Using metacopyfalse
  Native Overlay Difffalse
  userxattrfalse
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version1
 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: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e377cd56a71523140ca6ae87e30244719194a521
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version5.10.134-16.3.al8.x86_64
 Operating SystemAlibaba Cloud Linux 3 (Soaring Falcon)
 OSType: linux
 Architecture: x86_64
 CPUs2
 Total Memory1.845GiB
 NameTest-SIT
 ID: a4f62b4d-fc83-425f-ad20-1dc1d7d2e227
 Docker Root Dir/data/docker_root_data
 Debug Modefalse
 Experimentalfalse
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://x9r52uz5.mirror.aliyuncs.com/
  https://dockerhub.icu/
  https://docker.chenby.cn/
  https://docker.1panel.live/
  https://docker.awsl9527.cn/
  https://docker.anyhub.us.kg/
  https://dhub.kubesre.xyz/
 Live Restore Enabledfalse

关注公众号【软工墨客】,回复关键词【docker】即可免费获取相关资源。