Docker相关知识

102 阅读2分钟

1. 查看本地镜像

docker images

2. 查看本地容器

# 查看本地运行的容器
docker ps

# 查看本地所有的容器
docker ps -a

3. 进入某个容器内部

docker exec -it <name或id> /bin/bash

退出bash, 输入exit

4. 查看 Docker 运行中的日志

docker logs <id或name>

# 使用 -f 参数可以实时跟踪容器的日志输出
docker logs -f <id或name>

5. 删除镜像

ps: 悬空镜像(Dangling Images)是指那些没有标签none且未被任何容器引用的镜像。它们通常是旧版本镜像的残留,占据磁盘空间却不再使用

# 列出所有悬空镜像, 输入y
docker images -f "dangling=true"

# 批量删除所有悬空镜像 加上-f直接强制执行
docker image prune

# 删除镜像 加上-f是强制删除
docker rmi IMAGE ID

# 删除无用的镜像(慎重使用)所有停止的容器, 未被使用的网络, 未被任何容器引用的镜像, 构建缓存
docker system prune -a

6. 删除容器

# 加上 -f 强制删除
docker rm <id或name>

7. docker compose 文件相关

# 检查 Docker Compose 是否安装
docker-compose --version

# 后台启动 不加-d就是前台启动
docker-compose -f xxxx-compose.yml up -d

# 停止并删除容器及相关资源
docker-compose -f xxxx.yaml down

# 彻底删除所有关联的卷
docker-compose -f xxxx.yaml down -v

8. 容器在运行时修改重启策略

docker update --restart=always <id或name>

9. 清理未使用的 Docker 网络的命令

# 如果你想直接跳过确认提示,可以使用 `-f` 或 `--force` 参数来强制执行
docker network prune

10. 在aws Linux 2023上安装docker

sudo dnf install docker -y

# - 立即启动Docker服务(仅本次)
systemctl start docker

# - 设置Docker开机自动启动(永久生效)
systemctl enable docker

# 添加用户到docker组
sudo usermod -aG docker $USER

# 刷新权限
newgrp docker

# 验证是否安装成功
docker --version

11. 在aws Linux 2023上安装docker compose

# 为 Docker 配置目录设置一个默认值。它的目的是确保 Docker 使用的配置目录是 `$HOME/.docker`
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
# 创建一个目录结构
mkdir -p $DOCKER_CONFIG/cli-plugins

# 下载 Docker Compose 插件
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) \
  -o $DOCKER_CONFIG/cli-plugins/docker-compose

# 赋予执行权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

# 验证docker是否安装成功
docker compose version