Docker 是一个开源的容器化平台,它让开发者能够将应用程序与其依赖项打包到一个可移植的容器中。
Docker 主要有两个版本:
Docker CE (Community Edition)
免费版本
适合个人开发者和小型团队
包含核心 Docker 功能
Docker EE (Enterprise Edition)
付费版本
面向企业级用户
提供额外的安全、管理和支持功能
镜像(Image)
一个只读的模板,包含创建 Docker 容器的指令
类似于虚拟机的快照
可以从 Docker Hub 下载或自己创建
容器(Container)
镜像的运行实例
可以启动、停止、删除和暂停
相互隔离且安全
Dockerfile
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]用于构建 Docker 镜像的文本文件
包含构建镜像所需的所有命令
Docker Registry
用于存储 Docker 镜像的仓库
Docker Hub 是最常用的公共仓库
docker pull- 拉取镜像docker build- 构建镜像docker run- 运行容器docker ps- 查看运行中的容器docker stop- 停止容器docker rm- 删除容器docker images- 查看本地镜像
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
主要特点
使用 YAML 文件配置
在
docker-compose.yml文件中定义服务可以配置网络、卷、环境变量等
单个命令管理所有服务
docker-compose up启动所有服务docker-compose down停止所有服务
环境隔离
为项目创建独立的环境
避免端口冲突
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: mongodb
volumes:
- db-data:/data/db
volumes:
db-data:Docker Compose 常用命令docker-compose up- 创建和启动容器docker-compose down- 停止和删除容器docker-compose ps- 列出项目中的容器docker-compose logs- 查看服务日志docker-compose exec- 在运行的容器中执行命令
使用场景
Docker:适用于单个容器的管理
Docker Compose:适用于多容器应用的管理
配置方式
Docker:使用命令行参数或 Dockerfile
Docker Compose:使用 YAML 文件统一配置
复杂度
Docker:适合简单应用
Docker Compose:适合复杂的多服务应用
维护性
Docker Compose 配置更容易维护和版本控制
可以轻松复制完整的应用程序环境
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.