第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 芹菜試圖在泊塢站組成中占用端口號并制造問題

Python 芹菜試圖在泊塢站組成中占用端口號并制造問題

慕森王 2022-09-13 17:51:05
docker-compose.yml:  python-api: &python-api    build:      context: /Users/AjayB/Desktop/python-api/    ports:      - "8000:8000"    networks:      - app-tier    expose:      - "8000"    depends_on:      - python-model    volumes:      - .:/python_api/    environment:      - PYTHON_API_ENV=development    command: >      sh -c "ls /python-api/ &&             python_api_setup.sh development             python manage.py migrate &&             python manage.py runserver 0.0.0.0:8000"  python-model: &python-model    build:      context: /Users/AjayB/Desktop/Python/python/    ports:      - "8001:8001"    networks:      - app-tier    environment:      - PYTHON_API_ENV=development    expose:      - "8001"    volumes:      - .:/python_model/    command: >      sh -c "ls /python-model/             python_setup.sh development             cd /server/ &&             python manage.py migrate &&             python manage.py runserver 0.0.0.0:8001"  python-celery:    <<: *python-api    environment:      - PYTHON_API_ENV=development    networks:      - app-tier    links:      - redis:redis    depends_on:      - redis    command: >      sh -c "celery -A server worker -l info"  redis:    image: redis:5.0.8-alpine    hostname: redis    networks:          - app-tier    expose:      - "6379"    ports:      - "6379:6379"    command: ["redis-server"]python-celery在里面,它應(yīng)該作為一個單獨的容器運行。但它試圖占用與 相同的端口,這絕不應(yīng)該是這種情況。python-apipython-api
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊

這是因為您重用了包含將公開端口8000的部分的完整配置(順便說一句,這是多余的,因為您的部分已經(jīng)公開了端口)。python-apiportsexposeports


我會創(chuàng)建一個可供任何服務(wù)使用的通用部分。在你的情況下,它會是這樣的:


version: '3.7'


x-common-python-api:

   &default-python-api

    build:

      context: /Users/AjayB/Desktop/python-api/

    networks:

      - app-tier

    environment:

      - PYTHON_API_ENV=development

    volumes:

      - .:/python_api/


services:


  python-api:

    <<: *default-python-api

    ports:

      - "8000:8000"

    depends_on:

      - python-model

    command: >

      sh -c "ls /python-api/ &&

             python_api_setup.sh development

             python manage.py migrate &&

             python manage.py runserver 0.0.0.0:8000"


  python-model: &python-model

     .

     .

     .


  python-celery:

    <<: *default-python-api

    links:

      - redis:redis

    depends_on:

      - redis

    command: >

      sh -c "celery -A server worker -l info"


  redis:

     .

     .

     .


查看完整回答
反對 回復(fù) 2022-09-13
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊

該文件中有很多內(nèi)容,但其中大部分是不必要的。 在泊塢文件中幾乎什么都不做; 當(dāng)前網(wǎng)絡(luò)系統(tǒng)不需要;撰寫為您提供網(wǎng)絡(luò);您嘗試將代碼注入到應(yīng)該已存在于映像中的容器中。如果清理所有這些內(nèi)容,則您真正想要從一個容器重用到另一個容器的唯一部分是其(或),此時 YAML 錨點語法是不必要的。docker-compose.ymlexpose:links:defaultvolumes:build:image:


這應(yīng)該在功能上等效于您在問題中顯示的內(nèi)容:docker-compose.yml


version: '3'

services:

  python-api:

    build:

      context: /Users/AjayB/Desktop/python-api/

    ports:

      - "8000:8000"

    # No networks:, use `default`

    # No expose:, use what's in the Dockerfile (or nothing)

    depends_on:

      - python-model

    # No volumes:, use what's in the Dockerfile

    # No environment:, this seems to be a required setting in the Dockerfile

    # No command:, use what's in the Dockerfile


  python-model:

    build:

      context: /Users/AjayB/Desktop/Python/python/

    ports:

      - "8001:8001"


  python-celery:

    build: # copied from python-api

      context: /Users/AjayB/Desktop/python-api/

    depends_on:

      - redis

    command: celery -A server worker -l info # one line, no sh -c wrapper


  redis:

    image: redis:5.0.8-alpine

    # No hostname:, it doesn't do anything

    ports:

      - "6379:6379"

    # No command:, use what's in the image

同樣,請注意,我們實際上從容器復(fù)制到容器的唯一內(nèi)容是塊;將在兩個容器之間共享的所有其他設(shè)置(代碼、公開的端口)都包含在 描述如何生成映像的 中。python-apipython-celerybuild:Dockerfile


另一方面,您需要確保所有這些設(shè)置實際上都包含在您的:Dockerfile


# Copy the application code in

COPY . .


# Set the "development" environment variable

ENV PYTHON_API_ENV=development


# Document which port you'll use by default

EXPOSE 8000


# Specify the default command to run

# (Consider writing a shell script with this content instead)

CMD python_api_setup.sh development && \

    python manage.py migrate && \

    python manage.py runserver 0.0.0.0:8000


查看完整回答
反對 回復(fù) 2022-09-13
  • 2 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號