Docker是现代化开发环境中不可或缺的工具,它可以帮助你快速搭建一致、隔离的开发环境。以下是详细步骤:
# 对于Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 对于CentOS/RHEL系统
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
sudo docker run hello-world
# 拉取Python官方镜像
docker pull python:3.9-slim
# 运行Python容器并挂载当前目录
docker run -it --name my-python-dev -v $(pwd):/app python:3.9-slim bash
# 在容器内安装依赖
pip install pandas numpy
# 拉取Node.js官方镜像
docker pull node:14
# 运行Node容器
docker run -it --name my-node-dev -v $(pwd):/app -p 3000:3000 node:14 bash
# 在容器内初始化项目
npm init -y
npm install express
# 拉取OpenJDK镜像
docker pull openjdk:11
# 运行Java容器
docker run -it --name my-java-dev -v $(pwd):/app openjdk:11 bash
创建docker-compose.yml
文件:
version: '3'
services:
web:
image: node:14
ports:
- "3000:3000"
volumes:
- ./:/app
working_dir: /app
command: npm start
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
启动服务:
docker-compose up -d
持久化数据:使用volumes保存数据库和配置文件
docker volume create mydb_data
自定义镜像:创建Dockerfile
构建个性化环境
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
网络配置:创建专用网络让容器间通信
docker network create dev-network
docker run --network dev-network --name service1 my-image
使用.dockerignore:加快构建速度
node_modules
.git
*.log
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
# 进入运行中的容器
docker exec -it <container_id> bash
# 停止容器
docker stop <container_id>
# 删除容器
docker rm <container_id>
# 查看镜像
docker images
# 删除镜像
docker rmi <image_id>
# 查看容器日志
docker logs <container_id>
# 构建自定义镜像
docker build -t my-image .
通过以上方法,你可以快速搭建一个隔离、可复制的开发环境,团队成员可以轻松共享相同的配置,避免"在我机器上能运行"的问题。