【发布时间】:2020-06-01 02:42:21
【问题描述】:
我的应用程序在 docker 容器上运行并部署了 google 计算组并启用了自动缩放。 我面临的问题是从自动缩放的计算实例连接 mysql 实例,但它无法正常工作。
Dockerfile
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y software-properties-common && \
...installation other extenstion
RUN curl -sS https://getcomposer.org/installer | \
php -- --install-dir=/usr/bin/ --filename=composer
COPY . /var/www/html
CMD cd /var/www/html
RUN composer install
ADD nginx.conf/default /etc/nginx/sites-available/default
RUN wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
RUN chmod +x cloud_sql_proxy
RUN mkdir /cloudsql
RUN chmod 777 /cloudsql
RUN chmod 777 -R storage bootstrap/cache
EXPOSE 80
**CMD service php7.1-fpm start && nginx -g "daemon off;" && ./cloud_sql_proxy -dir=/cloudsql -instances=<connectionname>=tcp:0.0.0.0:3306 -credential_file=file.json &**
当我运行我的容器时,最后一行 ./cloud_sql_proxy -dir=/cloudsql -instances=<connectionname>=tcp:0.0.0.0:3306 -credential_file=file.json & 没有被执行。
如果我在容器内运行这个./cloud_sql_proxy -dir=/cloudsql -instances=<connectionname>=tcp:0.0.0.0:3306 -credential_file=file.json &(通过 docker 命令进入容器)它正在工作,当我再次关闭终端时它停止工作。
即使我尝试在后台运行,但没有运气。
有人知道吗?
【问题讨论】:
-
您是否尝试更改最新的命令顺序并从 sql proxy 命令开始?
-
你能显示 Docker 构建的错误日志吗? docs.docker.com/config/containers/logging
-
现在可以使用了
-
我在 shell 脚本上设置了 sleep 10
-
太棒了!,如果您在响应中添加文件并将其标记为已接受,那就太好了! stackoverflow.com/help/self-answer
标签: google-cloud-platform google-compute-engine load-balancing google-cloud-sql google-cloud-proxy