容器操作
运行容器
使用
docker run命令可以创建并启动一个容器。
bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用选项:
-d:后台运行容器( detached 模式)。-it:以交互模式运行容器,通常与 -t 一起使用。--name:为容器指定一个名称。-p:映射主机端口到容器端口(格式:主机端口:容器端口)。-v:挂载主机目录到容器目录(格式:主机目录:容器目录)。--rm:容器退出后自动删除容器。
完整示例
bash
docker run -d nginx --name my-nginx -p 80:80 -v /data/www:/usr/share/nginx/html查看容器
使用
docker ps命令可以查看当前正在运行的容器。
bash
docker ps [OPTIONS]常用选项:
-a:显示所有容器(包括停止的)。-f:根据条件过滤容器。-l:显示最近创建的容器。-q:只显示容器的 ID。
完整示例
bash
docker ps -a停止容器
使用
docker stop命令可以停止一个运行中的容器。
bash
docker stop [OPTIONS] CONTAINER [CONTAINER...]常用选项:
-t:指定超时时间(以秒为单位)。
完整示例
bash
docker stop my-nginx启动容器
使用
docker start命令可以启动一个停止的容器。
bash
docker start [OPTIONS] CONTAINER [CONTAINER...]完整示例
bash
docker start my-nginx重启容器
使用
docker restart命令可以重启一个运行中的容器。
bash
docker restart [OPTIONS] CONTAINER [CONTAINER...]常用选项:
-t:指定超时时间(以秒为单位)。
完整示例
bash
docker restart my-nginx进入容器
使用
docker exec命令可以进入一个正在运行的容器。
bash
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]常用选项:
-d:后台运行命令。-i:以交互模式运行命令。-t:分配一个伪终端。
完整示例
bash
docker exec -it my-nginx /bin/bash删除容器
使用
docker rm命令可以删除一个或多个容器。
bash
docker rm [OPTIONS] CONTAINER [CONTAINER...]常用选项:
-f:强制删除容器(即使容器正在运行)。-l:删除容器及其关联的卷。
完整示例
bash
docker rm my-nginx查看容器日志
使用
docker logs命令可以查看容器的日志。
bash
docker logs [OPTIONS] CONTAINER常用选项:
-f:跟踪日志输出。--tail:指定日志的尾部行数。
完整示例
bash
docker logs my-nginx复制文件到/从容器
使用
docker cp命令可以复制文件到/从容器。
bash
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH常用选项:
-L:保持符号链接。
完整示例
bash
docker cp my-nginx:/etc/nginx/nginx.conf .
docker cp nginx.conf my-nginx:/etc/nginx/查看容器详细信息
使用
docker inspect命令可以查看容器的详细信息。
bash
docker inspect [OPTIONS] CONTAINER [CONTAINER...]完整示例
bash
docker inspect my-nginx暂停/恢复容器
使用
docker pause命令可以暂停一个运行中的容器。使用
docker unpause命令可以恢复一个暂停的容器。
bash
docker pause CONTAINER [CONTAINER...]
docker unpause CONTAINER [CONTAINER...]完整示例
bash
docker pause my-nginx
docker unpause my-nginx重命名容器
使用
docker rename命令可以重命名一个容器。
bash
docker rename CONTAINER NEW_NAME完整示例
bash
docker rename my-nginx new-nginx导出和导入容器
使用
docker export命令可以导出一个容器为一个 tar 归档文件。使用
docker import命令可以导入一个 tar 归档文件为一个镜像。
bash
docker export [OPTIONS] CONTAINER
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]清理容器
使用
docker system prune命令可以清理系统中不再需要的资源。
bash
docker system prune [OPTIONS]常用选项:
-a:清理所有停止的容器。-f:强制清理。-s:清理系统盘的垃圾。
完整示例
bash
docker system prune -a查看容器进程
使用
docker top命令可以查看容器的进程信息。
bash
docker top CONTAINER完整示例
bash
docker top my-nginx更新容器配置
使用
docker update命令可以更新容器的配置。
bash
docker update [OPTIONS] CONTAINER [CONTAINER...]常用选项:
--blkio-weight:块 IO 权重(相对权重,范围 100 到 1000)。--cpu-period:限制 CPU CFS(Completely Fair Scheduler)周期。--cpu-quota:限制 CPU CFS(Completely Fair Scheduler)配额。--cpu-rt-period:限制 CPU real-time 周期。--cpu-rt-runtime:限制 CPU real-time 运行时间。--cpu-shares:CPU 共享(相对权重)。--cpus:指定 CPU 核数。--cpuset-cpus:指定 CPU 允许执行的核。--cpuset-mems:指定内存允许执行的节点。--kernel-memory:限制内核内存。--memory:限制内存。--memory-reservation:内存软限制。--memory-swap:交换内存限制。--memory-swappiness:内存交换行为。--pids-limit:限制 PID 数量。
完整示例
bash
docker update --memory 512m my-nginx