Linux下 Docker 工具使用

Docker 基本介绍

Docker 是一个开源的应用容器引擎,可以让开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后在任何支持 Docker 的 Linux 主机上快速运行。它的最大优势在于环境隔离和可移植性,尤其适用于开发、测试和部署的全流程。

Docker 与虚拟机的区别

对比项 虚拟机 Docker
启动速度 分钟级 秒级
占用资源 较高(需要完整OS) 较低(共享宿主机内核)
隔离性 完全隔离 进程级隔离
可移植性 一般 极高
部署复杂度 较复杂 简单

Docker 的核心概念

镜像(Image):应用及运行环境的只读模板。

容器(Container):镜像运行时的实例,可读可写。

仓库(Registry):存放镜像的地方(如 Docker Hub、阿里云镜像仓库)。

Linux 下安装 Docker

以 Ubuntu 为例:

  • 更新软件包
    1
    sudo apt update
  • 安装必要依赖
    1
    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
  • 添加 Docker 官方 GPG 密钥
    1
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
  • 添加 Docker 仓库
    1
    2
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
    | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装 Docker
    1
    2
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io -y
  • 启动并设置开机自启
    1
    2
    sudo systemctl start docker
    sudo systemctl enable docker

测试:

1
2
docker --version
docker run hello-world

Docker 基本使用命令

镜像操作

  • 搜索镜像
    docker search ubuntu

  • 拉取镜像
    docker pull ubuntu:20.04

  • 查看本地镜像
    docker images

  • 删除镜像
    docker rmi ubuntu:20.04

容器操作

  • 基于镜像创建并运行容器(交互模式)
    docker run -it ubuntu:20.04 /bin/bash

  • 运行容器并后台执行
    docker run -d --name my_nginx nginx

  • 查看正在运行的容器
    docker ps

  • 查看所有容器(包括已停止)
    docker ps -a

  • 停止容器(my_nginx)
    docker stop my_nginx

  • 启动已停止容器
    docker start my_nginx

  • 删除容器
    docker rm my_nginx

容器与宿主机文件交互

  • 将宿主机文件复制到容器
    docker cp ./test.txt my_nginx:/usr/share/nginx/html/

  • 从容器复制文件到宿主机
    docker cp my_nginx:/etc/nginx/nginx.conf ./nginx.conf

查看容器信息

1
2
3
docker logs my_nginx
docker exec -it my_nginx /bin/bash
docker inspect my_nginx