我试图在我的docker-compose.yaml
中使用waet-for-it来等待mysql准备就绪,然后再创建依赖于它的服务。这是我的docker-compose.yaml
:
version: '3.5'
services:
mysql:
image: mysql:5.6
ports:
- "3307:3306"
networks:
- integration-tests
environment:
- MYSQL_DATABASE=mydb
- MYSQL_USER=root
- MYSQL_ROOT_PASSWORD=mypassword
entrypoint: ./wait-for-it.sh mysql:3306
networks:
integration-tests:
name: integration-tests
尝试使用docker compose运行此操作时出现以下错误:
开始集成tests_mysql_1错误
错误:对于集成-tests_mysql_1无法开启服务mysql:OCI运行时创建失败:container_linux.go:348:启动容器进程导致"exec: \"./ wait-for-it.sh\":stat./wait-for-it.sh:没有这样的文件或目录":未知
错误:for mysql无法启动服务mysql:OCI运行时创建失败:container\u linux.go:348:启动容器进程导致“exec:\”/wait.sh\”:stat./wait-it.sh:没有这样的文件或目录:未知错误:启动项目时遇到错误。
wait it.sh
脚本与我的docker compose.yaml
文件位于同一级别,因此我不明白为什么找不到它。
您可以使用docker Dependes_on选项控制服务启动顺序。
你这里的问题是,你试图执行的东西不是你的形象的一部分。您告诉docker从mysql:5.6创建一个容器,它不包含wait-it.sh,然后您告诉它通过启动wait-it.sh来启动容器。
我建议您创建包含以下内容的自己的图像:
#Dockerfile
FROM mysql:5.6
COPY wait-for-it.sh /wait-for-it.sh
RUN chmod +x /wait-for-it.sh
然后,您将用映像替换mysql:5.6,您应该能够执行wait-for-it.sh。我也会通过命令而不是入口点来执行它:
#docker-compose.yml
...
mysql:
image: yourmysql:5.6
command: bash -c "/wait-for-it.sh -t 0 mysql:3306"
...
其中-t 0将等待mysql没有超时。
我有下面的docker-compose,在启动myprogram-app之前,我需要等待jhipster-registry服务启动并接受连接。 我尝试了 healtcheck 方式,遵循官方文档 https://docs.docker.com/compose/compose-file/compose-file-v2/ 但在运行<code>docker compose up</code>时,我遇到了
我正在尝试运行我的应用程序,其中我的Postgresql在Docker中,假设我的数据库Postgresql现在没有运行 并且在我的中: 如何使运行直到服务知道我的正在运行??
我已经在我的Windows7机器上安装了WebLogic12C(12.1.3)。在创建管理服务器并登录之后,我试图创建一个新的托管服务器。但是当我按下create按钮时,显示加载符号需要花费大量时间,最后给出等待完成的错误超时:Activate state:STATE_DISTRIBUTED Target Servers states:AdminServer STATE_DISTRIBUTED。早
我现在的码头工人。yml- 我的码头工人。yml文件包含2个服务。我已经指定postgrasdb服务在python应用程序服务使用之前启动,但是docker没有按照指定的顺序运行服务。如何让postgrasdb服务在python应用程序服务之前运行?我正在运行命令。
我在spring中有一个服务,它需要使用十种不同的方法获取数据。 我希望这些方法并行执行,以执行一些DB操作并返回到父线程。但是父线程应该等到所有响应出现,然后返回响应。 在我当前的方法中,我使用反应式mono异步执行所有方法,但主线程不等待订阅者方法完成。 下面是我订阅的两种方法 下面是我的主要方法 以下是我的输出: 我的输出显示,主线程没有等待订阅服务器完成其任务,因此我如何处理这种情况?
内核中其他有用的服务 模块 字符串操作 字符串操作 内存操作 内存操作 双向链表 双向链表 单向链表 单向链表 函数 void rt_show_version (void) 该函数将打印 rt-thread rtos 的版本信息。 rt_device_t rt_console_get_device (void) 获取控制台设备句柄