docker学习笔记

发布于:2025-05-24 ⋅ 阅读:(20) ⋅ 点赞:(0)

Docker Cli 基础操作

查看所有容器:

docker ps -a

停止运行的容器:

docker stop <container_id or name>

重新启动容器:

docker start <container_id or name>

暂停运行的容器:

docker pause <container_id or name>

重新运行暂停的容器:

docker unpause <container_id or name>

删除容器:

docker rm <container_id or name>

查看下载的镜像:

docker images

删除下载的镜像:

docker rmi <IMGAE_ID or repository:tag>
  • IMAGE_ID:镜像唯一标识符,可以通过docker images查看
  • repository:镜像的名称和标签,例如nginx:latest

从image中运行容器:

docker run -d '# 当容器在后台运行' \
--name <container_name> '# 指定容器名' \
--hostname <hostname> '# 指定容器的主机名' \
-p 3000:3000 '# 端口映射,将主机端口映射到容器端口' \
-v $(pwd)/config:/config '# 数据卷映射' 

进入正在运行的容器:

docker exec -it <容器ID或名称> /bin/bash

Docker Compose

概述: 是一个用于定义和运行多容器docker应用的工具。通过一个配置文件(通常是docker-compose.yml),描述多个容器之间的关系、依赖、网络和共享资源,让你可以方便地管理复杂的容器化应用

核心概念:

  • 服务:描述一个单独的容器,例如web服务、数据库服务。每个服务在docker-compose.yml文件中用来定义容器的行为
  • 网络:定义服务之间如何通信,compose会自动创建网络,允许服务之间通过名称相互通信
  • 卷:定义持久化数据存储位置,确保容器重启后数据不会丢失

工作流程:

  1. 定义服务:使用docker-compose.yml文件定义服务配置
  2. 启动应用:运行docker-compose up 启动所有服务
  3. 管理应用:使用命令如docker-compose ps查看状态,docker-compose logs查看日志
  4. 停止应用:运行docker-compose down停止并清理资源

docker-compose.yml文件示例:

version: '3.9'  # 指定 Compose 文件版本

services:
  web:
    image: nginx:latest  # 使用官方 nginx 镜像
    ports:
      - "8080:80"  # 将主机的 8080 端口映射到容器的 80 端口
    volumes:
      - ./web:/usr/share/nginx/html  # 挂载本地目录到容器
    networks:
      - app-network  # 连接到名为 app-network 的网络

  database:
    image: postgres:latest  # 使用官方 PostgreSQL 镜像
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - db-data:/var/lib/postgresql/data  # 数据持久化
    networks:
      - app-network  # 连接到名为 app-network 的网络

volumes:
  db-data:  # 定义持久化卷

networks:
  app-network:  # 定义网络

docker compose常用命令:

启动服务:

docker-compose up
  • 使用-d参数可以后台运行

停止服务:

docker-compose down
  • 使用-v参数可以同时删除卷

查看服务状态:

docker-compose ps

重启服务:

docker-compose restart

查看日志:

docker-compose log
  • 查看特定服务日志:docker-compose log <service-name>

运行单个服务:

docker-compose up <service-name>

网站公告

今日签到

点亮在社区的每一天
去签到