debian

Debian与Docker的集成开发环境如何搭建

小樊
43
2025-06-03 14:37:20
栏目: 智能运维

搭建Debian与Docker的集成开发环境可以分为几个步骤。以下是一个详细的指南:

1. 安装Docker

首先,确保你的Debian系统是最新的:

sudo apt update
sudo apt upgrade

安装必要的包:

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

添加Docker的官方GPG密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

设置Docker稳定版仓库:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新包索引并安装最新版本的Docker CE:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

验证安装:

sudo docker run hello-world

如果一切正常,你会看到一条欢迎信息,显示Docker正在正常工作。

2. 安装Docker Compose

安装Docker Compose之前,确保Docker已经正确安装并且服务在运行。

下载Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version

如果安装成功,你将看到类似如下的输出:docker-compose version 1.29.2, build 5becea4c

3. 使用Docker Compose配置多容器开发环境

编写docker-compose.yml文件来定义你的多容器应用。例如,创建一个简单的Flask应用程序:

app.py:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')

requirements.txt:

Flask==2.0.0

docker-compose.yml:

version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/app
  db:
    image: postgres:13.3-alpine
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: example
      POSTGRES_DB: mydatabase

app文件夹中运行以下命令来启动服务:

docker-compose up

现在,可以在浏览器中访问 http://localhost:5000,应该可以看到 “Hello, World!” 的消息。

4. 验证环境

确保所有服务都已正确启动:

docker ps

测试数据库连接:

mysql -h localhost -U postgres

测试Redis连接:

redis-cli -h localhost -p 6379

通过以上步骤,你应该能够在Debian系统上成功搭建一个包含Docker和Docker Compose的集成开发环境。

0
看了该问题的人还看了