首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地服务器上运行docker镜像

如何在本地服务器上运行docker镜像
EN

Stack Overflow用户
提问于 2021-12-03 18:02:03
回答 1查看 39关注 0票数 0

我是Docker的新手,我需要运行一个已经由另一个开发人员编写的dokcerized django项目,这是Dockerfile.dev:

代码语言:javascript
复制
FROM python:alpine
RUN apk update \
    && apk add --virtual build-deps gcc python3-dev musl-dev \
    && apk add postgresql-dev \
    && apk add jpeg-dev zlib-dev libjpeg
ENV PYTHONUNBUFFERED 1

WORKDIR /app
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
COPY entrypoint.sh /app/
ENTRYPOINT [ "./entrypoint.sh" ]
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

和dcoker-compose.yml:

代码语言:javascript
复制
services:
    event:
        build:
            context: .
            dockerfile: Dockerfile.dev
        volumes:
            - ./:/app
        
        env_file:
          - ./envs/development.env
        

        command:
            bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
        ports:
          - "8000:8000"
        
        depends_on:
          - event-database


    event-database:
        image: postgres:alpine

        env_file:
            - ./envs/development.db.env

networks:
    default:
        name: mizban

当我用docker build --tag创建一个镜像,然后用docker run imageid运行它时,它没有运行CMD part来在0.0.0.0:8000端口上运行项目,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-12-04 01:03:49

entrypoint始终优先于command。您的文件Dockerfile.dev同时包含ENTRYPOINTCMD。在本例中,CMD用作ENTRYPOINT的参数。

因此,如果您只想运行command而不是entrypoint,则需要用一个空字符串覆盖entrypoint部分。

请参考以下示例。

代码语言:javascript
复制
services:
    event:
        build:
            context: .
            dockerfile: Dockerfile.dev
        volumes:
            - ./:/app
        
        env_file:
          - ./envs/development.env
        
        entrypoint: ""
        command:
            bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
        ports: ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70218832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档