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 文件等进行保护,通过相应的安全策略确保应用在容器环境中安全运行。

相关推荐
darkb1rd1 天前
四、PHP文件包含漏洞深度解析
网络·安全·php
哆啦code梦1 天前
2024 OWASP十大安全威胁解析
安全·系统安全·owasp top 10
网络安全研究所1 天前
AI安全提示词注入攻击如何操控你的智能助手?
人工智能·安全
海心焱1 天前
安全之盾:深度解析 MCP 如何缝合企业级 SSO 身份验证体系,构建可信 AI 数据通道
人工智能·安全
程序员哈基耄1 天前
纯客户端隐私工具集:在浏览器中守护你的数字安全
安全
darkb1rd1 天前
五、PHP类型转换与类型安全
android·安全·php
中科三方1 天前
域名转移详细指南:流程、材料、注意事项和常见问题全解析
网络·安全
云小逸1 天前
【nmap源码学习】 Nmap 源码深度解析:nmap_main 函数详解与 NSE 脚本引擎原理
网络协议·学习·安全
迎仔1 天前
04-网络安全基础:数字世界的防盗门与守卫
网络·安全·web安全
MicroTech20251 天前
微算法科技(NASDAQ :MLGO)量子测量区块链共识机制:保障数字资产安全高效存储与交易
科技·安全·区块链