如何配置Dockerfile和docker-compose将两个容器部署到Docker Hub?

时间:2019-01-15 13:42:36

标签: docker docker-compose

我正在尝试迁移工作中的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上看到正在运行的容器,但是看不到如何修改这些文件才能实现。谢谢。

1 个答案:

答案 0 :(得分:0)

添加一个image属性。

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

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