gpt4 book ai didi

docker - 使用docker-compose在Dockerfile中运行回显失败

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

因此,我有以下docker-compose文件:

version: "3"

services:
webserver:
build:
context: ./bin/webserver
container_name: 'png-webserver'
restart: 'always'
ports:
- "18011:80"
- "14431:443"
links:
- mysql
volumes:
- ${DOCUMENT_ROOT-./www}:/var/www/html
- ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/php.ini
- ${VHOSTS_DIR-./config/vhosts}:/etc/apache2/sites-enabled
- ${LOG_DIR-./logs/apache2}:/var/log/apache2
mysql:
build: ./bin/mysql
container_name: 'png-mysql'
restart: 'always'
ports:
- "13306:3306"
volumes:
- ${MYSQL_DATA_DIR-./data/mysql}:/var/lib/mysql
- ${MYSQL_LOG_DIR-./logs/mysql}:/var/log/mysql
- ./mysqlhome:/home
environment:
MYSQL_ROOT_PASSWORD: tiger
MYSQL_DATABASE: nubuilder
MYSQL_USER: deckoff
MYSQL_PASSWORD: deeppurple
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: 'png-phpmyadmin'
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- '18080:80'
volumes:
- /sessions

和以下Dockerfile(用于mariadb容器):
FROM mariadb:10.1

RUN mysql --defaults-extra-file='/home/secret' nubuilder4 < /home/nubuilder4.sql

RUN apt-get update && apt-get install -y nano

RUN bash -c 'echo [mysqld] >> /etc/mysql/my.cnf'
RUN bash -c 'echo sql-mode=NO_ENGINE_SUBSTITUTION >> /etc/mysql/my.cnf'

简而言之-似乎Dockerfile中的RUN命令永远不会运行。我希望将2行附加到文件中,并安装nano,但是这些都不会发生。启动容器后,我尝试运行它们,它们工作正常。好像我做错了什么。

另外,我也不知道如何调试它。

最佳答案

RUN命令将nano和echo行安装到文件中似乎是正确的。
最有可能是RUN mysql --defaults-extra-file='/home/secret' nubuilder4 < /home/nubuilder4.sql中的问题

由于您正在安装卷/ home,因此我们无法对其进行调试。您确定此RUN mysql ...命令成功通过吗?

要调试:请更改您的docker-compose.yml,而不是build:./bin/mysql,使用image:mariadb:10.1,然后连接到容器并使用mysql运行第一个命令。

关于docker - 使用docker-compose在Dockerfile中运行回显失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52278284/

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