【问题标题】:How to configure Dockerfile and docker-compose to deploy two containers to docker hub?如何配置 Dockerfile 和 docker-compose 将两个容器部署到 docker hub?
【发布时间】:2019-01-15 22:06:23
【问题描述】:

我正在尝试迁移工作的 docker 配置文件(Dockerfile 和 docker-compose.yml),以便他们将工作的本地 docker 配置部署到 docker hub。

尝试了多个配置文件设置。

我有以下 Dockerfile,下面是使用它的 docker-compose.yml。当我运行“docker-compose up”时,我成功地运行了两个容器,它们可以独立访问,也可以通过“db”和数据库“container_name”相互通信。到目前为止一切顺利。

我不知道如何采用此配置(以下文件)并修改它们,以便在 docker hub 上获得相同的行为。能够拥有工作的本地容器是开发所必需的,但其他人需要在 docker hub 上使用这些容器,所以我需要在那里部署。

--

Dockerfile:

FROM tomcat:8.0.20-jre8

COPY ./services.war /usr/local/tomcat/webapps/

--

docker-compose.yml:

version: '3'
services:
   app:
      build:
        context: .
        dockerfile: Dockerfile
      ports:
        - "8089:8080"
      volumes:
        -  /Users/user/Library/apache-tomcat-9.0.7/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
      depends_on: 
        - db

   db:
      image: mysql:5.7
      container_name: test-mysql-docker
      ports:
           - 3307:3306
      volumes:
       - ./ZipCodeLookup.sql:/docker-entrypoint-initdb.d/ZipCodeLookup.sql
      environment:
           MYSQL_ROOT_PASSWORD: "thepass"

希望在 docker hub 上看到正在运行的容器,但看不到需要如何修改这些文件才能获得它。谢谢。

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    添加image 属性。

    app:
          build:
            context: .
            dockerfile: Dockerfile
          ports:
          image: docker-hub-username/app
    

    将“docker-hub-username”替换为您的用户名。然后运行docker-compose push app

    【讨论】:

    • 这种工作除了当我执行 docker run my-docker-hub-username/app 并下载并运行应用程序(根据我的配置在端口 8089 上显示)时,我得到一个浏览器中出现“无法连接”错误。此外,这不会降低所需的 MySQL。那么,如果我还需要推送 MySQL,我该如何关闭所有容器(两者),以便在它们在本地工作时运行它们?我很困惑为什么Tomcat实际上也无法根据终端输出访问。谢谢。
    • 另外......当我在本地运行 docker-compose 时,它​​会构建这两个服务,启动它们并且它们工作。我不知道如何使用 docker-hub 复制这种行为。如果我需要手动将两个图像推送到 docker hub,那么正如我上面所说,我将如何将它们都关闭以便它们像我在本地构建它们时一样运行和协同工作对我来说仍然是一个谜。感谢您在上面的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 2021-12-28
    • 2022-08-15
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多