互联网技术 / 互联网资讯 · 2024年3月17日 0

云计算核心技术Docker教程:本地开发中使用Python镜像的Compose

在本节中,我们将创建一个Compose文件以使用单个命令启动我们的Python-docker和MySQL数据库。我们还将设置Compose文件以Python-docker-dev在调试模式下启动应用程序,以便我们可以将调试器连接到正在运行的进程。

Python-docker在IDE或文本编辑器中打开该目录并创建一个名为docker-compose.dev.yml。将以下命令复制并粘贴到文件中。

version: ‘3.8’

services:

web:

build:

context: .

ports:

– 5000:5000

volumes:

– ./:/app

MySQLdb:

image: MySQL

ports:

– 3306:3306

environment:

– MYSQL_ROOT_PASSWORD=p@SSw0Rd1

volumes:

– MySQL:/var/lib/mysql

– MySQL_config:/etc/mysql

volumes:

– MySQL:

– MySQL_config:

这个Compose文件非常方便,因为我们不必键入要传递给docker run命令的所有参数。我们可以使用Compose文件声明性地做到这一点。

我们公开端口5000,以便我们可以访问容器内的开发Web服务器。我们还将我们的本地源代码映射到正在运行的容器中,以在我们的文本编辑器中进行更改,并在容器中获取这些更改。

使用Compose文件的另一个非常酷的功能是我们将服务解析设置为使用服务名称。因此,我们现在可以在连接字符串中使用“MySQLdb”。我们使用“MySQLdb”的原因是因为这是我们在Compose文件中命名我们的MySQL服务的原因。

现在,要启动我们的应用程序并确认它运行正常,请运行以下命令:

$ docker-compose -f docker-compose.dev.yml up –build

我们传递–build标志,以便Docker编译我们的图像,然后启动容器。

现在让我们测试我们的API端点。打开一个新终端,然后使用curl命令向服务器发出GET请求:

$ curl http://localhost:5000/initdb

$ curl http://localhost:5000/widgets

您应该会收到以下回复:

[]

这是因为我们的数据库是空的。