本文最后更新于 2024-07-12,文章内容可能已经过时。

安装 Docker

Docker官方安装教程:Install Docker Engine | Docker Docs

Debian

首先卸载系统中旧版本的Docker:

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

设置Docker的apt存储库:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Bash

安装最新版的Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Bash

测试是否安装成功:

sudo docker run hello-world
Bash

常用命令

镜像相关

docker images

列出所有本地的镜像,包括镜像名称、标签、镜像 ID、创建时间以及镜像大小等信息。

docker rmi

删除一个镜像,可以通过名称加标签的形式删除:

docker rmi myimage:tag
Crmsh

或者通过镜像ID删除:

docker rmi <image_id>
BNF

需要注意的是,如果该镜像有被容器使用,需要先停止并删除相关容器,才能成功删除该镜像。

docker pull

拉取镜像:

docker pull redis
EBNF

容器相关

查看容器

查看正在运行的容器:

docker container ls
docker ps
MEL

查看所有容器,包括已停止的:

docker container ls -a
MEL

创建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
CSS

容器常用命令

docker container stop CONTAINER_ID/NAME 	// 停止容器
docker container start CONTAINER_ID/NAME 	// 启动已停止的容器
docker container restart CONTAINER_ID/NAME 	// 重启容器
SQF: Status Quo Function (Arma 3)

删除容器

删除容器时,需要先停止容器,再删除:

docker container rm CONTAINER_ID/NAME
Axapta

进入容器内部

Docker 容器内部可以看作是一个轻量级、独立且隔离的运行环境,它类似于一个精简版的虚拟机。我们可以进入容器内部执行需要的相关命令。

使用 docker exec 进入容器内部:

sudo docker exec -it CONTAINER_ID/NAME bash
Bash
  • docker exec 命令用于在正在运行的容器中执行新的命令;

  • -it 选项:-i 表示保持标准输入打开,允许您与容器进行交互;-t 表示分配一个伪终端(TTY);

  • CONTAINER_ID/NAME :指定要操作的容器的 ID 或名称。

  • bash :指定要在容器中执行的命令,这里是启动一个 Bash shell ,以便您在容器内进行操作和执行各种命令。

总的来说,这条命令的作用是在指定的 Docker 容器中以交互模式打开一个 Bash 终端,方便您对容器内部进行操作和管理。