请选择 进入手机版 | 继续访问电脑版
  • 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

sockets - Docker:使用套接字在2个容器之间进行通信

[复制链接]
菜鸟教程小白 发表于 2022-8-3 10:11:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有2个Docker容器:App和Web。
App —带有php应用程序代码的简单容器。它仅用于存储并将代码传递到远程Docker主机。

应用程序镜像Dockerfile:

FROM debian:jessie
COPY . /var/www/app/
VOLUME ["/var/www/app"]
CMD ["true"]
Web — Web服务容器,由PHP-FPM + Nginx组成。

Web镜像Dockerfile:
FROM nginx

# Remove default nginx configs.
RUN rm -f /etc/nginx/conf.d/*

# Install packages
RUN apt-get update && apt-get install -my \
  supervisor \
  curl \
  wget \
  php5-cli \
  php5-curl \
  php5-fpm \
  php5-gd \
  php5-memcached \
  php5-mysql \
  php5-mcrypt \
  php5-sqlite \
  php5-xdebug \
  php-apc

# Ensure that PHP5 FPM is run as root.
RUN sed -i "s/user = www-data/user = root/" /etc/php5/fpm/pool.d/www.conf
RUN sed -i "s/group = www-data/group = root/" /etc/php5/fpm/pool.d/www.conf

# Pass all docker environment
RUN sed -i '/^;clear_env = no/s/^;//' /etc/php5/fpm/pool.d/www.conf

# Add configuration files
COPY config/nginx.conf          /etc/nginx/
COPY config/default.vhost        /etc/nginx/conf.d
COPY config/supervisord.conf    /etc/supervisor/conf.d/
COPY config/php.ini             /etc/php5/fpm/conf.d/40-custom.ini

VOLUME ["/var/www", "/var/log"]

EXPOSE 80 443 9000

ENTRYPOINT ["/usr/bin/supervisord"]

我的问题:是否可以通过套接字链接Web容器和App容器?

这样做的主要原因-使用App容器将更新的代码部署到远程Docker主机。
在容器之间使用卷/命名卷作为共享代码不是一个好主意。但是套接字可以提供帮助。

非常感谢您的帮助和支持!



Best Answer-推荐答案


如果两个容器都在同一主机上运行,​​则可以在两个容器之间共享套接字,因为它们是纯文件。

您可以create a local docker volume并将该卷安装在两个容器上。然后配置您的程序以使用该路径。

docker volume create --name=phpfpm
docker run phpfpm:/var/phpfpm web
docker run phpfpm:/var/phpfpm app

如果可以在主机上生成套接字,则可以将文件安装到两个容器中。这是用于获取Docker容器以控制主机docker的方法。
docker run -v /var/container/some.sock:/var/run/some.sock web
docker run -v /var/container/some.sock:/var/run/some.sock app

关于sockets - Docker:使用套接字在2个容器之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37727382/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap