如何debuggingREDIS,APACHE发出一个Docker容器?
这是场景:
该容器来自使用以下Dockerfile创build的映像:
FROM php:5-apache RUN apachectl -M RUN a2enmod rewrite RUN a2enmod expires RUN service apache2 restart RUN apachectl -M RUN php -m RUN apt-get update RUN php -m RUN apt-get install -y php5-redis RUN apt-get install -y redis-server #RUN redis-server RUN cp /etc/php5/mods-available/redis.ini /usr/local/etc/php/conf.d && ln -s /usr/lib/php5/20131226/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/redis.so RUN php -m COPY src/ /var/www/html EXPOSE 80 #CMD ["redis-server"]
请注意最后一行CMD ["redis-server"]
。
在build立图像之后,我创build了这样的容器
docker run -p 80:80 my_img
如果在浏览器(0.0.0.0:80)中使用#CMD ["redis-server"]
构build图像, #CMD ["redis-server"]
收到一条错误消息(来自我的index.php
文件) "Could not connetc to REDIS"
。 也许是因为REDIS没有初始化。
如果图像是用CMD ["redis-server"]
构build的,并初始化REDIS(我可以在Dockerterminal中看到REDIS符号),但在浏览器中收到错误消息:
所以,我没有线索发生了什么事情。 我在Docker中是新的,不知道如何debugging它。 它可能是与端口冲突(REDISxApache)相关的,也可能是REDIS本身。 或者这不是我应该初始化REDIS的方式。
有什么帮助吗?
您不要在同一个容器中运行依赖服务。 你作为撰写的一部分来运行它们
泊坞窗,compose.yml
version: '3' services: php: build: context: . ports: - "80:80" redis: image: redis
你将使用组合
$ docker-compose up
您将不得不在redis:6379
内连接到你的php代码而不是使用127.0.0.1:6379
关于docker的更多细节,请参考https://docs.docker.com/compose/
- 按单点查看日志。 使用Docker群
- 如何从eclipse连接到docker进行debugging?
- PyCharm在Docker内部添加远程Python解释器
- 如何确定为什么sigterm被发送到在mesos的docker容器内处理运行?
- Docker容器中的Java 9 Tomcat 9无法远程debugging
- 从Docker Windows容器远程debugging.Net Core控制台应用程序时,Visual Studio 2017不加载debugging符号
- 远程debuggingDocker中的节点9
- .Net Core Clrdebugging器VSDBG在Windows Docker容器中连接到远程进程时暂停应用程序
- 如何在使用stream浪者泊坞窗的IntelliJ思想中debuggingpython