• 基础在线:如何搭建docker环境完整教程和镜像设置


    Docker 安装

    清理残余组件

    执行后可能会报错(软件包不存在等)但不必理会。

    for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
    
    • 1

    安装必备依赖

    apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
    
    • 1

    信任 Docker 的 GPG 公钥并添加仓库:

    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.cernet.edu.cn/docker-ce/linux/debian \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Docker安装

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
    • 1
    • 2

    DockerHub 换源

    编辑/etc/docker/daemon.json文件:

    sudo mkdir -p /etc/docker
    
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://dockerproxy.com"]
    }
    EOF
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Docker 改变数据位置

    在**/etc/docker/daemon.json文件中添加如下项,然后执行systemctl restart docker**重启Docker服务即可。强烈建议在全新安装后就更换数据位置,否则可能会出现权限问题和丢数据等问题。

    {
      ...
      "data-root": "/path/to/your/dataroot"
      ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Docker 容器修改 DNS

    在**/etc/docker/daemon.json**文件中添加如下项,然后执行systemctl restart docker重启Docker服务即可。

    {
      ...
      "dns" : [
        "1.1.1.1",
        "8.8.8.8"
      ]
      ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    镜像加速器 镜像加速器地址

    Docker 中国官方镜像 https://registry.docker-cn.com DaoCloud
    镜像站 http://f1361db2.m.daocloud.io Azure
    中国镜像 https://dockerhub.azk8s.cn
    阿里云 https://.mirror.aliyuncs.com
    七牛云 https://reg-mirror.qiniu.com 网易云 https://hub-mirror.c.163.com
    腾讯云 https://mirror.ccs.tencentyun.com

    Portainer

    Portainer 是一个基于Web图形化的Docker管理工具,分为CE社区版(Community Edition)和BE商业版(Business Edition)。Portainer 无论是社区版还是商业版都没有官方中文版本,但有旧版本的第三方汉化(不建议使用)。

    Portainer-CE(社区版)

    创建数据库

    docker volume create portainer_data
    
    • 1

    拉取镜像并启动

    docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer \
        --restart=always \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v portainer_data:/data \
        portainer/portainer-ce:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5

    访问https://localhost:9443(已设置SSL证书的前提下)或http://localhost:9000(未设置SSL证书)即可进入后台。

    Portainer-EE(企业版)

    创建数据库

    docker volume create portainer_data
    
    • 1

    拉取镜像并启动

    docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer \
        --restart=always \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v portainer_data:/data portainer/portainer-ee:latest
    
    • 1
    • 2
    • 3
    • 4

    访问https://localhost:9443(已设置SSL证书的前提下)或http://localhost:9000(未设置SSL证书)即可进入后台。
    设置SSL

    打开 Portainer ,Setting 👉 SSL certificate 上传 SSL 证书即可。

    Docker 设置代理

    要求 Docker 17.07 及以上版本。

    在/etc/docker/daemon.json文件中添加如下项,然后重启Docker服务即可。

    {
     "proxies":
     {
       "default":
       {
         "httpProxy": "http://192.168.1.12:3128",
         "httpsProxy": "http://192.168.1.12:3128",
         "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
       }
     }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Docker 常用命令

    此处所提到的常用命令可能并非是完整的,仅为个人常用或可能用到的。
    完整的命令提示请参考Docker官方网站。

    登录到 Docker Hub:docker login。(非安全方式)
    拉取镜像

    docker pull NAME[:TAG]

    docker pull redis
    docker pull nginx:latest
    docker pull alpine:edge
    docker pull ubuntu:20.04
    
    • 1
    • 2
    • 3
    • 4

    拉取包含所有标签的镜像

    docker pull --all-tags alpine
    
    • 1

    从未签名且可能不信任的位置拉取镜像(–disable-content-trust 参数)

    docker pull --disable-content-trust localhost:5000/alpine
    
    • 1

    查看镜像列表

    docker images
    
    • 1

    查看容器列表

    docker ps
    
    • 1

    删除容器

    docker rm NAME|CONTAINER-ID
    docker rm 25fcd8c616d3
    
    • 1
    • 2

    docker | 删除镜像 | [-强制删除] | 容器名或ID

    docker rmi [-f] NAME|CONTAINER-ID
    docker rmi 54c9d81cbb44
    docker rmi -f ubuntu:20.04
    
    • 1
    • 2
    • 3

    运行进入容器(退出容器exit)

    docker run -it NAME|CONTAINER-ID [/bin/bash]
    docker run -it ubuntu:20.04
    
    • 1
    • 2

    容器的文件操作

    从外部复制到容器内:

    docker cp source container:target_path
    
    • 1

    从容器内部复制到容器外:

    docker cp container:source_path output_path
    
    • 1

    容器镜像导入导出
    导出镜像:docker save [options] images [images…]

    docker save -o ubuntu-bak.tar ubuntu:20.04
    
    • 1

    导入镜像:docker load [options]

    docker load -i ubuntu-bak.tar
    
    • 1

    Docker Compose

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YAML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YAML 文件配置中创建并启动所有服务。

    docker-compose --version
    
    • 1

    查看日志
    查看日志

    docker logs -f CONTAINER_ID
    
    • 1

    限制日志查询范围
    只查看最后200行:

    docker logs --tail 200 CONTAINER_ID
    
    • 1

    只查看最后30分钟:

    docker logs --since 30m CONTAINER_ID
    
    • 1

    查看某时间后的日志:

    dockere logs -t --since "2022-06-13T18:11:00" CONTAINER_ID
    
    • 1

    查看某时间段的日志:

    docker logs -t --since "2022-06-13T16:11:00" --until "2022-06-13T18:11:00" CONTAINER_ID
    
    • 1
  • 相关阅读:
    MXNet中图解稀疏矩阵(Sparse Matrix)的压缩与还原
    Linux偷偷“吃”了我的内存?
    LabVIEW高温摩擦磨损测试系统
    P8022 [ONTAK2015] Cięcie 题解
    Timed out waiting for device dev-ttymxc3.device.
    SpringCloud 微服务注册中心 Eureka - Client
    Leetcode:【448. 找到所有数组中消失的数字】题解
    Prompt 编程的优化技巧
    Jmeter结构体系——Jmeter目录结构详解
    访问服务器快慢的原因
  • 原文地址:https://blog.csdn.net/gaoxiangfei/article/details/134390250