gpt4 book ai didi

docker - Docker构建卡在MariaDB安装上

转载 作者:行者123 更新时间:2023-12-02 20:01:14 26 4
gpt4 key购买 nike

我正在尝试构建一组Docker镜像,其中包括Magento 2和MariaDB的安装。在极少数情况下,它会成功(尽管这可能是由于应用程序中的微小更改所致),但在大多数情况下,它会卡在以下内容上:

magento2-db    | Version: '10.3.11-MariaDB-1:10.3.11+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution

我看到其他人遇到了这个问题,但是原因是用于MariaDB安装的实际 RUN命令,我没有直接调用它。日志中似乎也没有任何内容指示错误。

日志的最后几行是:
[16:49:18.424][Moby           ][Info   ] [25693.252573] br-83922f7da47b: port 2(vethac51834) entered blocking state
[16:49:18.453][Moby ][Info ] [25693.290035] br-83922f7da47b: port 2(vethac51834) entered forwarding state
[16:49:18.637][ApiProxy ][Info ] time="2018-11-28T16:49:18+02:00" msg="proxy << POST /v1.25/containers/67175238f0e7a75ef527dbebbb1f5d992f1d01ee166643186dc5f727638aa66b/start (1.0560013s)\n"
[16:49:18.645][ApiProxy ][Info ] time="2018-11-28T16:49:18+02:00" msg="proxy >> GET /v1.25/events?filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Dmagento2%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D\n"

它似乎实际上已经完成了 Dockerfile中的所有步骤,但是我怀疑 docker-compose文件中可能存在问题,如下所示:
version: '3.0'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
container_name: 'magento-2.2.6'
ports:
- "80:80"
volumes:
- magento2-test-env:/var/www/html/magento2 # will be mounted on /var/www/html
links:
- magento2-db
env_file:
- .docker/env
depends_on:
- magento2-db
magento2-db:
container_name: 'magento2-db'
image: mariadb:latest
ports:
- "9809:3306"
volumes:
- magento2-db-data:/var/lib/mysql/data
env_file:
- .docker/env
volumes:
magento2-db-data:
magento2-test-env:
external: true

我的设置是否明显有问题,并且有解决此问题的好方法,也许在日志中查找特定内容?

最佳答案

也许您构建 Composer 的方式出了什么问题。

尝试使用这个:

version: '3.0'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
container_name: 'magento-2.2.6'
ports:
- "80:80"
volumes:
- magento2-test-env:/var/www/html/magento2 # will be mounted on /var/www/html
links:
- magento2-db
env_file:
- .docker/env
depends_on:
- db
db:
container_name: 'magento2-db'
image: mariadb:latest
ports:
- "9809:3306"
volumes:
- /var/lib/mysql/data
env_file:
- .docker/env
volumes:
magento2-db-data:
magento2-test-env:
external: true

如果需要将名称用作container_name,则避免使用诸如“blabla-something”之类的服务名称,这样就足够了,并且 db, links始终应在服务本身中链接而不是在容器名称中。

希望对您有所帮助。

关于docker - Docker构建卡在MariaDB安装上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53522396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com