找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 199|回复: 33

(自己解决了

[复制链接]

17

主题

131

回帖

325

积分

中级会员

积分
325
发表于 2018-10-24 01:00:37 | 显示全部楼层 |阅读模式
本帖最后由 颠峰布衣飘 于 2018-10-25 00:30 编辑

正确方法 最后只放一条CMD
  多条命令这样写 CMD haproxy -f /etc/haproxy/haproxy.cfg && php-fpm & \
    nginx -g "daemon off;"

加个命令连接符而以 尼玛扯到天上去了   && 连接符啊
==================================下面的是请教的问题===================

[ol]
  • FROM php:alpine
  • WORKDIR /var/www/html
  • COPY / /var/www/html/
  • RUN apk add --no-cache nginx \
  •     && mkdir /run/nginx \
  •     && chown -R www-data:www-data cache/ config/ \
  •     && mv default.conf /etc/nginx/conf.d \
  •     && mv php.ini /usr/local/etc/php \
  •     && rm -rf /etc/haproxy/haproxy.cfg \
  •     && mv haproxy.cfg /etc/haproxy
  • CMD ["haproxy", "-f", "/etc/haproxy/haproxy.cfg"]
  • EXPOSE 80 6800
  • # Persistent config file and cache
  • VOLUME [ "/var/www/html/config", "/var/www/html/cache" ]
  • CMD php-fpm & \
  •     nginx -g "daemon off;"[/ol]复制代码

    怎么haproxy 这个服务启动不起来呢。。  配制文件都没问题
      进容器 docker run -it test /bin/sh 之后执行  haproxy -f /etc/haproxy/haproxy.cfg 才能用

    我网上找了好多写法都没法子通过[ol]
  • RUN set -x \
  •    haproxy -f /etc/haproxy/haproxy.cfg  失败
  • ENTRYPOINT ["/docker-entrypoint.sh"] 也失败
  • [/ol]复制代码

    单独写个sh脚本copy进容器里 sh ss.sh也可以成功

    现在就想怎么在dockerfile里处理 写好
    运行docker run -d -p 1:1 test 这样 haproxy就能启动
      
  • 回复

    使用道具 举报

    17

    主题

    896

    回帖

    1859

    积分

    金牌会员

    积分
    1859
    发表于 2018-10-24 08:52:52 | 显示全部楼层
    CMD ["haproxy", "-f", "/etc/haproxy/haproxy.cfg"]
    CMD php-fpm & \
        nginx -g "daemon off;"



    你咋有两个 CMD
    回复

    使用道具 举报

    12

    主题

    335

    回帖

    758

    积分

    高级会员

    积分
    758
    发表于 2018-10-24 01:31:37 | 显示全部楼层

    wkdhf233 发表于 2018-10-24 01:31

    CMD ["haproxy", "-f", "/etc/haproxy/haproxy.cfg"]
    CMD php-fpm & \
        nginx -g "daemon off;"

    难度不可以吗
    回复

    使用道具 举报

    17

    主题

    131

    回帖

    325

    积分

    中级会员

    积分
    325
     楼主| 发表于 2018-10-24 01:34:20 | 显示全部楼层

    颠峰布衣飘 发表于 2018-10-24 01:34

    难度不可以吗



    只能有一个,要不整个脚本写一起,要不跑个 supervisor
    回复

    使用道具 举报

    12

    主题

    335

    回帖

    758

    积分

    高级会员

    积分
    758
    发表于 2018-10-24 01:31:00 | 显示全部楼层
    "

    刚刚查了下 cmd 命令只执行最后一条 哎 找到原因就好解决了 我已经知道怎么处理了 谢谢各位
    回复

    使用道具 举报

    17

    主题

    131

    回帖

    325

    积分

    中级会员

    积分
    325
     楼主| 发表于 2018-10-24 01:42:31 | 显示全部楼层

    颠峰布衣飘 发表于 2018-10-24 02:01

    刚刚查了下 cmd 命令只执行最后一条 哎 找到原因就好解决了 我已经知道怎么处理了 谢谢各位 ...

    没错,cmd只执行最后一条。合并写在一起吧
    回复

    使用道具 举报

    0

    主题

    96

    回帖

    212

    积分

    中级会员

    积分
    212
    发表于 2018-10-24 01:34:00 | 显示全部楼层
    DOCKER启动supervisor,supervisor执行相关守护,这个最简单
    回复

    使用道具 举报

    2

    主题

    77

    回帖

    174

    积分

    注册会员

    积分
    174
    发表于 2018-10-24 02:01:56 | 显示全部楼层

    yrj 发表于 2018-10-24 02:44

    没错,cmd只执行最后一条。合并写在一起吧

    合并写总不成功啊 supervisor 到是成功了 但是supervisor 这个安装一下都70多M 不适用now
    球个写法

    [ol]
  • CMD ["/bin/sh","-c","/home/entrypoint.sh"][/ol]复制代码 没启动起来

    entrypoint脚本是
    [ol]
  • #!/bin/sh
  • /usr/sbin/nginx -reload
  • /usr/local/sbin/php-fpm &
  • /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg[/ol]复制代码
  • 回复

    使用道具 举报

    17

    主题

    131

    回帖

    325

    积分

    中级会员

    积分
    325
     楼主| 发表于 2018-10-24 01:42:00 | 显示全部楼层

    h2o 发表于 2018-10-24 08:52

    搞那么麻烦干嘛,跑一个container起来,然后做你要做的操作,最后commit到image里面就可以了。方便快捷。 ...

    有不一样的需求
    代码提交到云容器 没有控制命令工具 bash sh之类的
    颠峰布衣飘 发表于 2018-10-24 18:14

    合并写总不成功啊 supervisor 到是成功了 但是supervisor 这个安装一下都70多M 不适用now
    球个写法

    不成功,提示什么
    回复

    使用道具 举报

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2018-10-24 02:44:25 | 显示全部楼层


    你怎么合并 都不会成功 因为docker 只跑 id1 的进程
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-3-5 07:04 , Processed in 0.022587 second(s), 7 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表