在本节中,我们将创建一个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
您应该会收到以下回复:
[]
这是因为我们的数据库是空的。
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 ...
查看全文Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,四位知情人士今日透露,亚马逊、微软和谷歌这三大云计算服务提供商,正在竞争波音公司(Boeing)价值10亿美元的云服务合同。 这些...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,多位知情人士今日称,继加州、纽约州和华盛顿州之后,马萨诸塞州和宾夕法尼亚州的总检察长也加入到对亚马逊的反垄断调查中。 如今,越来越...
查看全文
您好!请登录