【发布时间】:2019-11-06 13:00:28
【问题描述】:
我对 docker 很陌生。我想使用 xcgd/odoo 的图像文件制作一个 Odoo 8 容器。 下面是我的 docker compose 文件。在我对 yml 进行 docker-compose 后不久,Web 容器就以退出代码 0 消失了。
我知道 xcgd/odoo 需要链接 db 容器,我在文档中看到过。
$ docker run -p 8069:8069 --rm --name="xcgd.odoo" --link pg93:db xcgd/odoo:7.0 start
我的 yaml 中是否缺少此链接?我以为我已经使用 networks 定义了链接?
谁能指出我的错误?
我的 yaml 文件
version: '3.3'
services:
# Web Application Service Definition
# --------
#
# All of the information needed to start up an odoo web
# application container.
web:
image: xcgd/odoo:8.0
depends_on:
- db
# Port Mapping
# --------
#
# Here we are mapping a port on the host machine (on the left)
# to a port inside of the container (on the right.) The default
# port on Odoo is 8069, so Odoo is running on that port inside
# of the container. But we are going to access it locally on
# our machine from localhost:9000.
#ports:
# - 80:8069
# Data Volumes
# --------
#
# This defines files that we are mapping from the host machine
# into the container.
#
# Right now, we are using it to map a configuration file into
# the container and any extra odoo modules.
volumes:
- ./config:/etc/odoo
- ./addons/logic:/mnt/logic-addons
- ./addons/data:/mnt/data-addons
# Odoo Environment Variables
# --------
# The odoo image uses a few different environment
# variables when running to connect to the postgres
# database.
#
# Make sure that they are the same as the database user
# defined in the db container environment variables.
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
- VIRTUAL_HOST=proc.fullertonhealth.co.id
- VIRTUAL_PORT=8069
- LETSENCRYPT_HOST=proc.fullertonhealth.co.id
- LETSENCRYPT_EMAIL=info@fullertonhealth.co.id
expose:
- 8069
# Database Container Service Definition
# --------
#
# All of the information needed to start up a postgresql
# container.
db:
image: postgres:9.5
# Database Environment Variables
# --------
#
# The postgresql image uses a few different environment
# variables when running to create the database. Set the
# username and password of the database user here.
#
# Make sure that they are the same as the database user
# defined in the web container environment variables.
environment:
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
- POSTGRES_DB=postgres # Leave this set to postgres
networks:
default:
external:
name: nginx-proxy
【问题讨论】:
-
您不需要声明端口级连接。 Docker compose 应该能够从容器的暴露端口获取此信息。检查您的日志以验证数据库连接是否是实际问题。请发布您得到的实际错误。
-
嗨,原来我必须在网络服务中设置
command: "start"。我的不好,我没有看懂文档中给出的docker run示例的参数。 -
你会把你的评论变成答案吗?
标签: docker-compose odoo odoo-8