linux

如何用Linux Docker搭建开发环境

小樊
45
2025-10-20 11:20:18
栏目: 智能运维

一、前置准备:安装Docker

在Linux系统上搭建Docker开发环境的第一步是安装Docker引擎。以常见的Ubuntu/Debian系统为例,安装步骤如下:

  1. 更新软件包列表:sudo apt-get update
  2. 安装Docker依赖:sudo apt-get install docker-ce docker-ce-cli containerd.io
  3. 启动Docker服务并设置开机自启:sudo systemctl start docker && sudo systemctl enable docker
  4. 验证安装:docker --version(查看版本) && sudo docker run hello-world(运行测试镜像,确认功能正常)。

二、选择合适的基础镜像

基础镜像是Dockerfile的起点,需根据开发语言和环境需求选择:

三、构建自定义镜像(可选但推荐)

通过Dockerfile定义镜像构建流程,实现环境一致性。以下是常见语言的Dockerfile示例:

1. Python开发环境

# 使用Python 3.9 slim基础镜像
FROM python:3.9-slim  
# 设置工作目录(容器内的默认路径)
WORKDIR /app  
# 复制依赖文件(requirements.txt)到工作目录
COPY requirements.txt .  
# 安装依赖(-y表示自动确认)
RUN pip install --no-cache-dir -r requirements.txt  
# 复制项目代码到工作目录
COPY . .  
# 暴露应用端口(如Flask默认80端口)
EXPOSE 80  
# 定义容器启动命令(运行Flask应用)
CMD ["python", "app.py"]  

构建命令:docker build -t my-python-app .-t指定镜像名称,.表示Dockerfile所在目录)。

2. Node.js开发环境

# 使用Node.js 18基础镜像
FROM node:18  
# 设置工作目录
WORKDIR /usr/src/app  
# 复制package.json和package-lock.json(用于依赖管理)
COPY package*.json ./  
# 安装依赖
RUN npm install  
# 复制项目代码
COPY . .  
# 暴露应用端口(如Express默认3000端口)
EXPOSE 3000  
# 定义容器启动命令(启动Express应用)
CMD ["node", "app.js"]  

构建命令:docker build -t my-node-app .

四、运行开发容器

通过docker run命令启动容器,并配置必要的参数:

五、使用Docker Compose管理多容器环境

对于需要多个服务(如Web应用+数据库)的项目,可使用docker-compose.yml文件定义和启动多容器环境:

version: '3'  # 指定Compose文件版本
services:     # 定义服务列表
  web:        # Web服务(如Node.js应用)
    image: my-node-app  # 使用自定义镜像
    ports:              # 端口映射
      - "3000:3000"     # 宿主机3000端口映射到容器3000端口
    volumes:            # 挂载目录
      - ./:/app         # 本地当前目录挂载到容器/app目录
    working_dir: /app   # 设置容器工作目录
    command: npm start  # 覆盖镜像默认启动命令
  db:         # 数据库服务(如PostgreSQL)
    image: postgres:13  # 使用PostgreSQL 13镜像
    environment:        # 环境变量(配置数据库密码)
      POSTGRES_PASSWORD: example
    volumes:            # 数据卷(持久化数据库数据)
      - postgres_data:/var/lib/postgresql/data
volumes:                # 定义数据卷(需在services外)
  postgres_data:        

启动命令:docker-compose up -d-d表示后台运行);停止命令:docker-compose down

六、开发环境优化技巧

  1. 持久化数据:使用volumes挂载目录或数据卷,避免容器删除后数据丢失(如数据库文件、项目配置)。
  2. 自定义镜像:通过Dockerfile构建个性化镜像,减少重复配置(如预装依赖、设置环境变量)。
  3. 网络配置:创建专用Docker网络,让容器间通过名称通信(而非IP)。
    示例:docker network create dev-network(创建网络),docker run --network dev-network --name service1 my-image(将容器加入网络)。
  4. 使用.dockerignore:在项目根目录创建.dockerignore文件,排除不必要的文件(如node_modules.git.log),加快镜像构建速度。

七、常用命令速查

0
看了该问题的人还看了