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 文件):
bashdocker load -i xxx.tar -
导出镜像(为 tar 文件):
bashdocker 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 文件等进行保护,通过相应的安全策略确保应用在容器环境中安全运行。