V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
shallyy
V2EX  ›  云计算

请教各位这个 docker 该怎么运行

  •  
  •   shallyy · 2017-10-10 17:13:57 +08:00 · 5477 次点击
    这是一个创建于 2600 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/ansible-semaphore/semaphore.git
    运行 docker-compose up 之后
    ERROR:cannot locate specified Dockerfile:Dockerfile
    11 条回复    2017-10-12 09:34:46 +08:00
    blackeeper
        1
    blackeeper  
       2017-10-10 22:14:49 +08:00
    这个不是用 docker 运行的....
    WhiteLament
        2
    WhiteLament  
       2017-10-11 08:36:59 +08:00   ❤️ 2
    docker-compose --verbose up
    输出调试信息来排查
    shallyy
        3
    shallyy  
    OP
       2017-10-11 08:54:14 +08:00
    @WhiteLament 感谢回复 输出是这样 请问这个 dockerfile 该如何指定呢
    lxy42
        4
    lxy42  
       2017-10-11 09:38:36 +08:00   ❤️ 1
    你是在 Dockerfile 所在目录执行 docker-composer up 命令吗?
    shallyy
        5
    shallyy  
    OP
       2017-10-11 09:48:21 +08:00
    @lxy42 是的 而且只有一个 dockerfile
    lxy42
        6
    lxy42  
       2017-10-11 11:39:49 +08:00   ❤️ 2
    @shallyy 从[docker-compose.yml]( https://github.com/ansible-semaphore/semaphore/blob/develop/docker-compose.yml)文件来看
    ```
    semaphore_proxy:
    build: proxy
    expose:
    - 443
    - 80
    ports:
    - 8080:80
    - 8443:443
    ```
    试试在当前目录新建 proxy 目录,然后把 Dockerfile 复制到该目录
    shallyy
        7
    shallyy  
    OP
       2017-10-11 13:01:53 +08:00
    @lxy42 非常感谢
    WhiteLament
        8
    WhiteLament  
       2017-10-11 13:11:55 +08:00
    dockerfile 可以这样指定:

    https://docs.docker.com/compose/compose-file/

    version: '2'
    services:
    webapp:
    build:
    context: ./dir
    dockerfile: Dockerfile-alternate

    你也可以按#6 说的直接复制进去就好
    shallyy
        9
    shallyy  
    OP
       2017-10-11 14:32:21 +08:00
    @lxy42
    @WhiteLament
    感谢两位回复 运行到第五步
    这个文件是复制到容器里吗 这一步对应的脚本在什么地方呢 囧
    WhiteLament
        10
    WhiteLament  
       2017-10-11 18:45:10 +08:00
    我又看了一下,你一开始 build 缺的 Dockerfile 应该是指这个 scripts/proxy/Dockerfile
    这个 semaphore_proxy 是一个 nginx 的 docker

    你可以把 docker-compose.yml 最后那段改成形如这样

    semaphore_proxy:
    build:
    context: ./scripts/proxy
    dockerfile: ./Dockerfile

    这样它会去找构建 nginx 的 Dockerfile
    但是这个 nginx 的 Dockerfile 还需要一个证书:

    ADD cert/ /etc/nginx/cert

    它项目里没包括证书,需要你自己准备

    各种坑……
    shallyy
        11
    shallyy  
    OP
       2017-10-12 09:34:46 +08:00
    @WhiteLament 我跑起来了 把 scirps/proxy/Dockerfile 里的最后一行注释掉了
    然而进入 web 界面后 用户名密码怎么也不对 修改配置文件也没成功
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.