不同容器的相同 docker 图片

Same docker image for different containers

我有一个问题,可能对 docker 图片有误解。

我的两个不同项目需要 运行 两个单独的 mongodb 3.6 容器。但似乎如果使用相同的图像 (mongo:3.6),那么容器将使用相同的数据、配置等...

我使用 docker-compose 到 运行 并管理我的容器。我的 docker-compose.yml 看起来像这样:

services:
    first-mongo:
        image: mongo:3.6
        container_name: first-mongo
        mem_limit: 4g
        restart: always
        ports:
            - '27017:27017'
        volumes:
            - ${FIRST_MONGO_DB_LOCAL_PATH}:/data/db
            - ${FIRST_MONGO_DB_LOCAL_DUMP_PATH}:/data/dumps
            - ${FIRST_MONGO_DB_LOCAL_SCRIPTS_PATH}:/data/scripts

    second-mongo:
        image: mongo:3.6
        container_name: second-mongo
        mem_limit: 4g
        restart: always
        ports:
            - '27018:27018'
        volumes:
            - ${SECOND_MONGO_DB_LOCAL_PATH}:/data/db
            - ${SECOND_MONGO_DB_LOCAL_DUMP_PATH}:/data/dumps
            - ${SECOND_MONGO_DB_LOCAL_SCRIPTS_PATH}:/data/scripts

所以,有了这个配置我的两个容器 运行 没问题。但是,当我获取第二个容器的 IP 地址并尝试连接到数据库时,我看到的数据与第一个容器中的数据相同。此外,当我更改某些内容时,更改会同时出现在 containers/images 中。在本地,我在第一个和第二个容器中有不同的数据。

P.S 例如,当我将第二个容器的图像标签更改为 mongo:3.5 时,我看到了我想要的数据库(单独的数据等)。

如有任何帮助,我将不胜感激。谢谢!

我找到了解决该问题的方法。我刚刚将 second-mongo 容器的端口配置更改为:

ports:
    - '27018:27017'

之前是27018:27018。老实说,我不知道它是如何关联的,但它现在对我有用。

感谢那些试图帮助我的人!