头图

Docker作为轻量级容器化技术,已成为开发、测试和部署环节的核心工具。本文梳理了Docker日常操作中的关键命令,涵盖镜像、容器管理及信息查询等场景,助你高效应对各类使用需求。

镜像基础操作

1. 获取镜像

docker pull 镜像名称:标签

# 拉取指定版本的CentOS镜像
docker pull centos:7

2. 移除镜像

docker rmi 镜像名称:标签 按名称移除
docker rmi 镜像ID 按ID移除

3. 自制镜像

docker build -t 镜像名称:版本 构建目录

# 基于./app目录的Dockerfile,创建test-image:v2镜像
docker build -t test-image:v2 ./app

4. 镜像的导入导出

  • 导入镜像:docker load -i 镜像文件.tar

    # 从backup.tar导入镜像
    docker load -i backup.tar
  • 导出镜像:docker save -o 目标文件.tar 镜像名称:版本

    # 导出nginx:1.21镜像为nginx-backup.tar
    docker save -o nginx-backup.tar nginx:1.21

容器核心操作

1. 新建并启动容器

docker run [参数] 镜像名称 [执行命令]

# 后台启动nginx容器并映射80端口
docker run -d -p 8080:80 --name my-nginx nginx:1.21

[关键参数说明]

-d:后台运行(守护态)

-it:开启交互模式(搭配终端命令使用)

--name:自定义容器名称

-p:端口映射(宿主机端口:容器内端口)

-v:目录挂载(宿主机路径:容器内路径)

--rm:容器停止后自动清理

2. 容器状态控制

docker start 容器名 启动已停止的容器
docker stop 容器名 停止运行中的容器
docker restart 容器名 重启容器

3. 进入运行容器

推荐使用docker exec进行交互:

  • docker exec -it 容器名 终端命令

    # 进入my-nginx容器的bash终端
    docker exec -it my-nginx /bin/bash
  • docker attach 容器名

    # 连接到运行中的my-nginx容器
    docker attach my-nginx

4. 删除容器

docker rm 容器名/容器ID

# 删除名为test的容器
docker rm test
# 强制删除运行中的demo容器
docker rm -f demo

信息查询与监控

1. 容器列表查看

docker ps [选项]

# 显示运行中容器
docker ps
# 显示所有容器(含停止状态)
docker ps -a

2. 镜像列表查询

docker images 列出所有本地镜像
docker images mysql 筛选显示mysql镜像

3. 容器日志查看

docker logs [选项] 容器名

# 查看my-nginx容器的最近100行日志
docker logs --tail 100 my-nginx
# 实时跟踪日志输出
docker logs -f my-nginx

4. 详细信息查看

docker inspect 容器名/镜像名 查看对象的详细配置信息

5. 端口映射查看

docker port 容器名 查看容器端口与宿主机的映射关系

6. 资源使用监控

docker stats [容器名]

# 监控特定容器资源占用
docker stats my-nginx
# 监控所有容器资源使用情况
docker stats

容器内程序安全保障

在容器中部署应用时,代码安全是关键考量,尤其在对外交付场景中需严防程序被篡改或窃取。

Virbox Protector工具可针对Docker环境下的各类程序提供保护,无论是Java、Python应用,还是本地elf、so文件,均能通过专属安全策略加固,确保容器内程序的运行安全。


深盾安全
1 声望0 粉丝

深耕软件安全领域30载