docker-essentials by sundial-org/awesome-openclaw-skills
npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill docker-essentials用于容器和镜像管理的基本 Docker 命令。
# 从镜像运行容器
docker run nginx
# 在后台运行(分离模式)
docker run -d nginx
# 指定名称运行
docker run --name my-nginx -d nginx
# 带端口映射运行
docker run -p 8080:80 -d nginx
# 带环境变量运行
docker run -e MY_VAR=value -d app
# 带卷挂载运行
docker run -v /host/path:/container/path -d app
# 退出时自动移除容器
docker run --rm alpine echo "Hello"
# 交互式终端
docker run -it ubuntu bash
# 列出正在运行的容器
docker ps
# 列出所有容器(包括已停止的)
docker ps -a
# 停止容器
docker stop container_name
# 启动已停止的容器
docker start container_name
# 重启容器
docker restart container_name
# 移除容器
docker rm container_name
# 强制移除正在运行的容器
docker rm -f container_name
# 移除所有已停止的容器
docker container prune
# 显示日志
docker logs container_name
# 跟随日志(类似 tail -f)
docker logs -f container_name
# 最后 100 行日志
docker logs --tail 100 container_name
# 带时间戳的日志
docker logs -t container_name
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# 在运行中的容器内执行命令
docker exec container_name ls -la
# 交互式 shell
docker exec -it container_name bash
# 以特定用户身份执行
docker exec -u root -it container_name bash
# 带环境变量执行
docker exec -e VAR=value container_name env
# 检查容器详细信息
docker inspect container_name
# 获取特定字段(JSON 路径)
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name
# 查看容器统计信息
docker stats
# 查看特定容器的统计信息
docker stats container_name
# 查看容器内的进程
docker top container_name
# 从 Dockerfile 构建
docker build -t myapp:1.0 .
# 使用自定义 Dockerfile 构建
docker build -f Dockerfile.dev -t myapp:dev .
# 带构建参数构建
docker build --build-arg VERSION=1.0 -t myapp .
# 不使用缓存构建
docker build --no-cache -t myapp .
# 列出镜像
docker images
# 从注册表拉取镜像
docker pull nginx:latest
# 标记镜像
docker tag myapp:1.0 myapp:latest
# 推送到注册表
docker push myrepo/myapp:1.0
# 移除镜像
docker rmi image_name
# 移除未使用的镜像
docker image prune
# 移除所有未使用的镜像
docker image prune -a
# 启动服务
docker-compose up
# 在后台启动
docker-compose up -d
# 停止服务
docker-compose down
# 停止并移除卷
docker-compose down -v
# 查看日志
docker-compose logs
# 跟随特定服务的日志
docker-compose logs -f web
# 扩展服务实例数量
docker-compose up -d --scale web=3
# 列出服务
docker-compose ps
# 在服务中执行命令
docker-compose exec web bash
# 重启服务
docker-compose restart web
# 重新构建服务
docker-compose build web
# 重新构建并重启
docker-compose up -d --build
# 列出网络
docker network ls
# 创建网络
docker network create mynetwork
# 将容器连接到网络
docker network connect mynetwork container_name
# 从网络断开连接
docker network disconnect mynetwork container_name
# 检查网络
docker network inspect mynetwork
# 移除网络
docker network rm mynetwork
# 列出卷
docker volume ls
# 创建卷
docker volume create myvolume
# 检查卷
docker volume inspect myvolume
# 移除卷
docker volume rm myvolume
# 移除未使用的卷
docker volume prune
# 带卷运行容器
docker run -v myvolume:/data -d app
# 查看磁盘使用情况
docker system df
# 清理所有未使用的资源
docker system prune
# 清理包括未使用的镜像
docker system prune -a
# 清理包括卷
docker system prune --volumes
# 显示 Docker 信息
docker info
# 显示 Docker 版本
docker version
开发容器:
docker run -it --rm \
-v $(pwd):/app \
-w /app \
-p 3000:3000 \
node:18 \
npm run dev
数据库容器:
docker run -d \
--name postgres \
-e POSTGRES_PASSWORD=secret \
-e POSTGRES_DB=mydb \
-v postgres-data:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:15
快速调试:
# 进入运行中的容器的 shell
docker exec -it container_name sh
# 从容器复制文件
docker cp container_name:/path/to/file ./local/path
# 复制文件到容器
docker cp ./local/file container_name:/path/in/container
多阶段构建:
# Dockerfile
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
docker run 标志:
-d:分离模式(后台)-it:交互式终端-p:端口映射(主机:容器)-v:卷挂载-e:环境变量--name:容器名称--rm:退出时自动移除--network:连接到网络docker exec 标志:
-it:交互式终端-u:用户-w:工作目录.dockerignore 从构建上下文中排除文件RUN 命令以减少层数--rmdocker-composedocker system prune 进行清理官方文档:https://docs.docker.com/ Dockerfile 参考:https://docs.docker.com/engine/reference/builder/ Compose 文件参考:https://docs.docker.com/compose/compose-file/
每周安装次数
90
仓库
GitHub 星标数
523
首次出现
2026年2月7日
安全审计
安装于
codex87
opencode87
gemini-cli86
cursor85
github-copilot85
kimi-cli82
Essential Docker commands for container and image management.
# Run container from image
docker run nginx
# Run in background (detached)
docker run -d nginx
# Run with name
docker run --name my-nginx -d nginx
# Run with port mapping
docker run -p 8080:80 -d nginx
# Run with environment variables
docker run -e MY_VAR=value -d app
# Run with volume mount
docker run -v /host/path:/container/path -d app
# Run with auto-remove on exit
docker run --rm alpine echo "Hello"
# Interactive terminal
docker run -it ubuntu bash
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
# Stop container
docker stop container_name
# Start stopped container
docker start container_name
# Restart container
docker restart container_name
# Remove container
docker rm container_name
# Force remove running container
docker rm -f container_name
# Remove all stopped containers
docker container prune
# Show logs
docker logs container_name
# Follow logs (like tail -f)
docker logs -f container_name
# Last 100 lines
docker logs --tail 100 container_name
# Logs with timestamps
docker logs -t container_name
# Execute command in running container
docker exec container_name ls -la
# Interactive shell
docker exec -it container_name bash
# Execute as specific user
docker exec -u root -it container_name bash
# Execute with environment variable
docker exec -e VAR=value container_name env
# Inspect container details
docker inspect container_name
# Get specific field (JSON path)
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name
# View container stats
docker stats
# View specific container stats
docker stats container_name
# View processes in container
docker top container_name
# Build from Dockerfile
docker build -t myapp:1.0 .
# Build with custom Dockerfile
docker build -f Dockerfile.dev -t myapp:dev .
# Build with build args
docker build --build-arg VERSION=1.0 -t myapp .
# Build without cache
docker build --no-cache -t myapp .
# List images
docker images
# Pull image from registry
docker pull nginx:latest
# Tag image
docker tag myapp:1.0 myapp:latest
# Push to registry
docker push myrepo/myapp:1.0
# Remove image
docker rmi image_name
# Remove unused images
docker image prune
# Remove all unused images
docker image prune -a
# Start services
docker-compose up
# Start in background
docker-compose up -d
# Stop services
docker-compose down
# Stop and remove volumes
docker-compose down -v
# View logs
docker-compose logs
# Follow logs for specific service
docker-compose logs -f web
# Scale service
docker-compose up -d --scale web=3
# List services
docker-compose ps
# Execute command in service
docker-compose exec web bash
# Restart service
docker-compose restart web
# Rebuild service
docker-compose build web
# Rebuild and restart
docker-compose up -d --build
# List networks
docker network ls
# Create network
docker network create mynetwork
# Connect container to network
docker network connect mynetwork container_name
# Disconnect from network
docker network disconnect mynetwork container_name
# Inspect network
docker network inspect mynetwork
# Remove network
docker network rm mynetwork
# List volumes
docker volume ls
# Create volume
docker volume create myvolume
# Inspect volume
docker volume inspect myvolume
# Remove volume
docker volume rm myvolume
# Remove unused volumes
docker volume prune
# Run with volume
docker run -v myvolume:/data -d app
# View disk usage
docker system df
# Clean up everything unused
docker system prune
# Clean up including unused images
docker system prune -a
# Clean up including volumes
docker system prune --volumes
# Show Docker info
docker info
# Show Docker version
docker version
Development container:
docker run -it --rm \
-v $(pwd):/app \
-w /app \
-p 3000:3000 \
node:18 \
npm run dev
Database container:
docker run -d \
--name postgres \
-e POSTGRES_PASSWORD=secret \
-e POSTGRES_DB=mydb \
-v postgres-data:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:15
Quick debugging:
# Shell into running container
docker exec -it container_name sh
# Copy file from container
docker cp container_name:/path/to/file ./local/path
# Copy file to container
docker cp ./local/file container_name:/path/in/container
Multi-stage build:
# Dockerfile
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
docker run flags:
-d: Detached mode (background)-it: Interactive terminal-p: Port mapping (host:container)-v: Volume mount-e: Environment variable--name: Container name--rm: Auto-remove on exit--network: Connect to networkdocker exec flags:
-it: Interactive terminal-u: User-w: Working directory.dockerignore to exclude files from build contextRUN commands in Dockerfile to reduce layers--rm for one-off containersdocker-compose for multi-container appsdocker system pruneOfficial docs: https://docs.docker.com/ Dockerfile reference: https://docs.docker.com/engine/reference/builder/ Compose file reference: https://docs.docker.com/compose/compose-file/
Weekly Installs
90
Repository
GitHub Stars
523
First Seen
Feb 7, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
codex87
opencode87
gemini-cli86
cursor85
github-copilot85
kimi-cli82
Azure 升级评估与自动化工具 - 轻松迁移 Functions 计划、托管层级和 SKU
104,900 周安装