是否可以在入口点连接到外部容器并将数据库转储上传到外部容器?在执行此行时,我总是得到 web_1退出,代码为0 :mysql -h $ MYSQL_HOST -u $ MYSQL_USER -p $ MYSQL_PASSWORD $ MYSQL_DATABASE 但是,我可以在创建容器后执行docker exec -it bash,在那里执行install-sampledata,它可以工作我有这样的 docker 组成version: '2.1'services: db: image: mysql:5.6.23 volumes: - db-data:/var/lib/mysql/data env_file: - env web: build: . ports: - "8089:80" links: - db env_file: - env tty: truevolumes: db-data:Docker文件FROM alexcheng/magentoENTRYPOINT install-sampledata和install-sampledata文件#!/usr/bin/env bashcd /tmpcp /opt/magento-sample-data-1.9.1.0.tgz .tar xvf magento-sample-data-1.9.1.0.tgzcp -R magento-sample-data-1.9.1.0/media/* /var/www/htdocs/media/cp -R magento-sample-data-1.9.1.0/skin/* /var/www/htdocs/skin/chown -R www-data:www-data /var/www/htdocs/mediamysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < magento-sample-data-1.9.1.0/magento_sample_data_for_1.9.1.0.sql 最佳答案 问题是:您的ENTRYPOINT是install-sampledata:一个将运行一个mysql命令并...退出的脚本!此时容器将停止。如果可能的话,最好先调用该脚本,然后再调用call mysql as in the mysql Dockerfile,以使前台进程保持运行状态。或者,您可以查看multi-stage build,以使用已经包含的必备文件构建镜像。关于mysql - Dockerfile-在入口点部署mysql dump,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48492166/
10-16 12:09