docker-essentials

安装量: 72
排名: #10736

安装

npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill docker-essentials

Docker Essentials Essential Docker commands for container and image management. Container Lifecycle Running containers

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 Managing containers

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 Container Inspection & Debugging Viewing logs

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 Executing commands

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 Inspection

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 Image Management Building images

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 . Managing images

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 Docker Compose Basic operations

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 Service management

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 Networking

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 Volumes

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 System Management

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 Common Workflows 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
Useful Flags
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 network
docker exec
flags:
-it
Interactive terminal
-u
User
-w
Working directory Tips Use .dockerignore to exclude files from build context Combine RUN commands in Dockerfile to reduce layers Use multi-stage builds to reduce image size Always tag your images with versions Use --rm for one-off containers Use docker-compose for multi-container apps Clean up regularly with docker system prune Documentation Official docs: https://docs.docker.com/ Dockerfile reference: https://docs.docker.com/engine/reference/builder/ Compose file reference: https://docs.docker.com/compose/compose-file/
返回排行榜