Docker常用命令速查手册

Docker以其轻量化和便携的特性,在软件生命周期的开发、测试乃至产品发布等各个环节都有广泛应用。本文整理了一系列常用的Docker命令,以应对不同场景下的容器化需求。

镜像管理

1. 拉取镜像

使用 docker pull 命令可以从镜像仓库下载指定镜像:

bash 复制代码
docker pull 镜像名:标签

# 示例:拉取 Ubuntu 22.04 镜像
docker pull ubuntu:22.04

2. 删除镜像

删除镜像时可根据镜像名称或镜像ID进行操作:

bash 复制代码
docker rmi 镜像名:标签
docker rmi 镜像ID

3. 构建镜像

通过 Dockerfile 构建自定义镜像:

bash 复制代码
docker build -t 镜像名:标签 .

# 示例:基于当前目录 Dockerfile 构建镜像
docker build -t my-app:v1.0 .

4. 镜像导入与导出

  • 导入镜像(从 tar 文件):

    bash 复制代码
    docker load -i xxx.tar
  • 导出镜像(为 tar 文件):

    bash 复制代码
    docker save -o xxx.tar 镜像名:标签

容器管理

1. 创建并运行容器

docker run 是最常用的容器启动命令,支持多种运行选项:

bash 复制代码
docker run [选项] 镜像名 [命令]

# 示例:以交互模式运行 Ubuntu 容器
docker run -it ubuntu:22.04 /bin/bash

常用选项说明:

  • -d:在后台运行容器
  • -it:以交互模式运行容器(常与 /bin/bash 配合使用)
  • --name:为容器设置名称
  • -p:端口映射,格式为 主机端口:容器端口
  • -v:挂载数据卷,格式为 主机目录:容器目录
  • --rm:容器停止后自动删除(适用于临时测试)

2. 启动、停止与重启容器

bash 复制代码
docker start 容器名
docker stop 容器名
docker restart 容器名

3. 进入运行中的容器

建议使用 docker exec 进入容器,该方式更灵活且不影响容器内原有进程:

bash 复制代码
docker exec -it 容器名 /bin/bash   # 或 /bin/sh

# 不推荐使用 docker attach,因为它会接入容器主进程

4. 删除容器

bash 复制代码
# 删除指定容器
docker rm 容器名

# 删除所有已停止的容器
docker rm $(docker ps -aq)

信息查看与监控

1. 查看容器列表

bash 复制代码
docker ps      # 仅显示运行中的容器
docker ps -a   # 显示所有容器

2. 查看本地镜像

bash 复制代码
docker images                # 列出所有镜像
docker images 镜像名         # 筛选指定镜像

3. 查看容器日志

bash 复制代码
docker logs 容器名           # 查看日志
docker logs -f --tail 50 容器名  # 实时查看最新50行日志

4. 查看详细信息

bash 复制代码
docker inspect 容器名/镜像名   # 查看详细配置信息
docker port 容器名            # 查看端口映射
docker stats [容器名]         # 查看资源占用情况

容器应用安全建议

在 Docker 容器中部署应用时,安全性是必须重视的环节,尤其是在涉及代码交付与部署的场景中,防止代码泄露或被恶意利用尤为重要。

目前已有一些工具可用于增强容器内程序的安全性,例如 Virbox Protector 等,它们支持对运行在容器内的 Java、Python 程序以及本地 ELF、SO 文件等进行保护,通过相应的安全策略确保应用在容器环境中安全运行。

相关推荐
黑客老李1 小时前
web渗透实战 | js.map文件泄露导致的通杀漏洞
安全·web安全·小程序·黑客入门·渗透测试实战
财经三剑客2 小时前
AI元年,春节出行安全有了更好的答案
大数据·人工智能·安全
潆润千川科技4 小时前
中老年同城社交应用后端设计:如何平衡安全、性能与真实性?
安全·聊天小程序
市场部需要一个软件开发岗位5 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
飞凌嵌入式5 小时前
用「EN 18031认证」通关欧盟,这张 “网络安全护照” 已就位
网络·安全·能源
●VON5 小时前
CANN安全与隐私:从模型加固到数据合规的全栈防护实战
人工智能·安全
程序员清洒6 小时前
CANN模型安全:从对抗防御到隐私保护的全栈安全实战
人工智能·深度学习·安全
秋邱6 小时前
不仅是极速:从 CANN SHMEM 看 AIGC 集群通信的“安全微操”艺术
安全·aigc
初恋叫萱萱6 小时前
CANN 生态安全加固指南:构建可信、鲁棒、可审计的边缘 AI 系统
人工智能·安全
麦聪聊数据8 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构