Docker基本使用

环境准备

  1. 安装VMware(这里遇到一个问题:win11与VMware15.5似乎并不兼容吗,百度win11不支持VMware16以下版本)
  2. 安装ubuntu(这里ubuntu的版本需要符合docker的要求)

安装Docker

  1. 卸载旧版本的docker

    1
    apt-get remove docker docker-engine docker.io containerd runc
  2. 安装docker依赖

    1
    apt-get install ca-certificates curl gnupg lsb-release
  3. 添加Docker官方GPG密钥

    1
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  4. 添加Docker软件源

    1
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  5. 安装docker

    1
    apt-get install docker-ce docker-ce-cli containerd.io
  6. 配置用户组(可选)

    1
    sudo usermod -aG docker $USER
  7. 运行docker

    1
    systemctl start docker
  8. 安装工具

    1
    apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  9. 重启docker

    1
    service docker restart
  10. 配置加速地址

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": [
    "https://do.nark.eu.org",
    "https://dc.j8.work",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn"
    ]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    systemctl status docker
  11. 验证配置是否成功

    1
    docker info
  12. 验证docker安装是否成功

    1
    sudo docker run hello-world
  13. 查看镜像

    1
    sudo docker images

Docker核心概念

  • image:镜像。Docker镜像是一个轻量级、可执行的独立软件包,它包含了运行某个软件所需要的所有内容,包括代码、运行时、库、环境变量、配置文件等。Docker利用这些镜像来创建容器,每个容器都可以从镜像中运行实例,并且这些容器之间互相隔离,互不干扰。
  • Container:容器。基于镜像创建的运行实例。容器可以被创建、启动、停止、删除、暂停等。
  • Dockerfile:一个文本格式的配置文件,用于定义Docker镜像的内容和构建步骤。它包含一系列指令,每个指令代表一个构建步骤,从基础镜像开始,逐步构建出最终的镜像。

Docker常用命令

命令 说明
docker pull 从容器镜像库拉取镜像
docker push 推送镜像到容器镜像库
docker save 将指定镜像保存为tar文件
docker load 从tar文件中加载镜像
docker images 列出本地所有镜像
docker run 创建一个新的容器并运行一个命令
docker ps 列出当前正在运行的容器
docker logs 获取容器日志输出
docker exec 在运行的容器内执行命令
docker stop 停止一个或多个运行中的容器
docker start 启动一个或多个运行中的容器
docker rm 删除一个或多个容器
docker rmi 删除一个或多个镜像