Compose: "ν¬νŠΈκ°€ 이미 ν• λ‹Ήλ˜μ—ˆμŠ΅λ‹ˆλ‹€" λ•Œλ¬Έμ— Docker μž‘μ„± μ‹€νŒ¨

에 λ§Œλ“  2017λ…„ 06μ›” 22일  Β·  64μ½”λ©˜νŠΈ  Β·  좜처: docker/compose

λ‚΄ 도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό μ„±κ³΅μ μœΌλ‘œ λΉŒλ“œν•  수 μžˆμ§€λ§Œ docker-compose build λͺ…령을 μž…λ ₯ν•˜λ©΄ λ‹€μŒ 였λ₯˜κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€.

Starting docker_etl_1 ... 
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 ... 
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 ... error

ERROR: for 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1  Cannot start service 
postgis: driver failed programming external connectivity on endpoint 
1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 
(91464afbee8bf7212061797ec0f4c017a56cc3c30c9bdaf513127a6e6a4a5a52): Error starting 
userland prStarting docker_etl_1 ... done

ERROR: for postgis  Cannot start service postgis: driver failed programming external connectivity 
on endpoint 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 
(91464afbee8bf7212061797ec0f4c017a56cc3c30c9bdaf513127a6e6a4a5a52): Error starting 
userland proxy: Bind for 0.0.0.0:5432 failed: port is already allocated

μ—¬κΈ° λ‚΄ docker-compose.yaml이 μžˆμŠ΅λ‹ˆλ‹€.

version: '2'
services:
  postgis:
    build: ./postgis
    volumes:
      - ../src/main/sql:/sql
    ports:
      - "5432:5432"

  etl:
    build: ./etl
    volumes:
      - ..:/national-voter-file
    entrypoint:
      - python3
      - /national-voter-file/load/loader.py

Dockerfile은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

FROM mdillon/postgis:9.5
ENV POSTGRES_DB VOTER
RUN  mkdir /sql
COPY ./dockerResources/z-init-db.sh /docker-entrypoint-initdb.d/
EXPOSE 5432

λ‚˜λŠ” λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆκ°€ μ‹€ν–‰λ˜κ³  μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•Šμ•„ Bind for 0.0.0.0:5432 failed: port is 이미 ν• λ‹Ήλœ λ©”μ‹œμ§€μ— ν˜Όλž€μŠ€λŸ¬μ›Œν•©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 πŸ‘‡ μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€!!

docker-compose down
docker rm -fv $(docker ps -aq)
sudo lsof -i -P -n | grep 5432
  • λ§₯용
kill -9 <process id>
  • λ¦¬λˆ…μŠ€
sudo kill <process id>

λͺ¨λ“  64 λŒ“κΈ€

netstat | grep 5432 ?

μ•ˆλ…•ν•˜μ„Έμš” @shin- ,

방금 λ‚΄ μ»΄ν“¨ν„°μ—μ„œ ν•˜λ“œ 리셋을 μˆ˜ν–‰ν–ˆλŠ”λ° λ‹€μŒκ³Ό 같은 κ²°κ³Όκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

$ docker-compose up
_collections.so could not be extracted!

κ·Έ 후에 @patrickconnorsκ°€ κ²Œμ‹œν•œ 것과 λ™μΌν•œ λ¬Έμ œκ°€
selection_055

μ–΄λ–€ 아이디어?

@budnik docker-compose down λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆμ™€ λ„€νŠΈμ›Œν¬λ₯Ό μ •λ¦¬ν•œ λ‹€μŒ up λ‹€μ‹œ μ‹€ν–‰ν•˜κ³  λ¬Έμ œκ°€ ν•΄κ²°λ˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

였늘 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€( postgres μ»¨ν…Œμ΄λ„ˆ μ‚¬μš©). docker-compose down λ₯Ό μ‹œλ„ν•œ λ‹€μŒ λ‹€μ‹œ up λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ λ¬Έμ œλŠ” μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

docker-compose ps 및 docker ps 빈 좜λ ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.


ν•˜μ§€λ§Œ 해결책을 μ°Ύμ•˜μ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이것이 λ‚΄ postgres μ„œλΉ„μŠ€κ°€ μ •μ˜λœ λ°©μ‹μž…λ‹ˆλ‹€

version: '2.1'

services:

  postgres:
    image: postgres:9.5.4
    env_file:
      - docker-compose.env
    ports:
      - 5432:5432

제 경우 μˆ˜μ • 사항은 λ‹¨μˆœνžˆ 포트 바인딩을 λΉ„ν™œμ„±ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ§ˆμ§€λ§‰ 뢀뢄을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

    ports:
      - 5432

이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€, λͺ¨λ“  μ‚¬μš© 사둀에 일반적으둜 적용될 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.


docker-compose 자체의 λ¬Έμ œμΌκΉŒμš”?
참고둜:

$ docker-compose --version
docker-compose version 1.12.0, build b31ff33

μœ„μ˜ μ†”λ£¨μ…˜μ΄ λ‚΄κ°€ ν•„μš”ν–ˆλ˜ κ²ƒμž…λ‹ˆλ‹€. @lorenzo-pasaμ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

docker-composeλ₯Ό 3.3 λ²„μ „μœΌλ‘œ μ—…λ°μ΄νŠΈν•œ 후에도 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
@lorenzo-pasa μ†”λ£¨μ…˜μ€ λ‘œμ»¬μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€(μ—¬μ „νžˆ prodμ—μ„œ μ‹œλ„ν•΄μ•Ό 함).

μ•„λž˜λŠ” 참고용으둜 λ‚΄ docker-compose 쀑 _part_μž…λ‹ˆλ‹€.

nginx:
    image: nginx:1.12.2-alpine
    volumes:
      - .:/usr/share/nginx/app
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - "80"
    depends_on:
      - web

λ‚˜λŠ” 이것을 가지고 μžˆμ—ˆκ³  Cannot start service mysql: network 4b8e7a23e3724fd351e428be30cdf7a9294d142ac23959ca9092278fc81e96c1 not found 와 같은 것도 가지고 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. up λͺ…령에 --build --force-recreate ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

이것은 πŸ‘‡ μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€!!

docker-compose down
docker rm -fv $(docker ps -aq)
sudo lsof -i -P -n | grep 5432
  • λ§₯용
kill -9 <process id>
  • λ¦¬λˆ…μŠ€
sudo kill <process id>

였λ₯˜: iky_gateway의 경우 μ„œλΉ„μŠ€λ₯Ό μ‹œμž‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€. iky_gateway: b'λ“œλΌμ΄λ²„κ°€ 끝점 iky_gatewayμ—μ„œ μ™ΈλΆ€ 연결을 ν”„λ‘œκ·Έλž˜λ°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€(47d83edbbc1568eae6d26f5e75931797b7e23c6528ff7cc8140f50811fb44920 ν”„λ‘μ‹œμ— λŒ€ν•œ 0ν¬νŠΈκ°€ 이미 할당됨

docker-compose down μ‹œλ„ν–ˆμ§€λ§Œ ν•΄κ²°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

미래 λ…μžμ—κ²Œ 도움이 될 수 μžˆλŠ” 또 λ‹€λ₯Έ μ†”λ£¨μ…˜μ€ docker-compose.yml νŒŒμΌμ„ λ‹€μ‹œ ν™•μΈν•˜κ³  포트 8080μ—μ„œ μ‹€ν–‰ν•˜λ €λŠ” ν•­λͺ©μ΄ 2개 μ—†λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

포트 8080μ—μ„œ μ‹€ν–‰λ˜λ„λ‘ κ΅¬μ„±λœ 2개의 ν•­λͺ©μ΄ μžˆλŠ” 경우 문제λ₯Ό μΌμœΌν‚€μ§€ μ•ŠλŠ” μ„œλΉ„μŠ€/μ»¨ν…Œμ΄λ„ˆμ— λŒ€ν•΄ "ν¬νŠΈκ°€ 이미 할당됨" 였λ₯˜ λ©”μ‹œμ§€λ₯Ό 받을 수 μžˆμŠ΅λ‹ˆλ‹€. 였λ₯˜ λ©”μ‹œμ§€μ— λŒ€ν•œ ν•΄κ²° 방법이 μ—†μŠ΅λ‹ˆλ‹€.

@Rub21 의 μ†”λ£¨μ…˜μ€ kill -9 {pid} κ°€ ν”„λ‘œμ„ΈμŠ€λ₯Ό 계속 λ‹€μ‹œ μ‹œμž‘ν•œλ‹€λŠ” 점을 μ œμ™Έν•˜κ³ λŠ” μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€ . MySQL μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. OSXμ—μ„œλŠ” λ‹€μŒμ„ μˆ˜ν–‰ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

  1. μ‹œμŠ€ν…œ ν™˜κ²½μ„€μ •
  2. mysql
  3. Stop MySQL Server λ²„νŠΌμ„ λˆ„λ¦…λ‹ˆλ‹€.

λ‚˜λŠ” 포트 바인딩을 μ œκ±°ν–ˆκ³  그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.
mysql:포트:- 3306:3306
λ‚˜λŠ” λ³€κ²½ν•΄μ•Όν–ˆλ‹€
mysql:포트:- 3306
그리고 λͺ¨λ‘ μ’‹μ•˜λ‹€.

도컀 쀑지 $(도컀 ps -a -q)
도컀 rm $(도컀 ps -a -q)
그런 λ‹€μŒ κΈ°μ‘΄ 데이터(예: docker volume rm docker_db_data)λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.
도컀 ꡬ성

λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” docker-compose 1.13.0 및 1.22.0κ³Ό ν•¨κ»˜ docker 버전 17.05.0-ce, λΉŒλ“œ 8965beλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. compose-yml νŒŒμΌμ€ 3.2μž…λ‹ˆλ‹€.

@KazibweStephen 에 λŒ€ν•œ 사과와 ν•¨κ»˜ 이것은 μœ μš©ν•œ μ†”λ£¨μ…˜μ΄ μ•„λ‹™λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈκ°€ μ»¨ν…Œμ΄λ„ˆμ˜ mysql μ„œλΉ„μŠ€μ— μ—°κ²°ν•  _abritrary_ 포트λ₯Ό μ„ νƒν•˜λ„λ‘ docker-compose에 μ§€μ‹œν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. mysqlμ—κ²Œ μ–΄λ–€ ν¬νŠΈλ„ μˆ˜μ‹ ν•˜μ§€ μ•Šλ„λ‘ ν•˜κ±°λ‚˜ 포트 ꡬ성을 μ™„μ „νžˆ μ œκ±°ν•˜λ„λ‘ μ§€μ‹œν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

_μ„œλ²„ μž¬λΆ€νŒ…_을 ν¬ν•¨ν•˜μ—¬ μœ„μ˜ λ‹€μ–‘ν•œ μ†”λ£¨μ…˜μ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. μ‹€ν–‰ 쀑인 λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆκ°€ μ—†μœΌλ©° yml νŒŒμΌμ— 좩돌이 μ—†μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 훨씬 이전 λ²„μ „μ˜ docker/composeμ—μ„œ μž‘λ™ν–ˆμŒμ„ κΈ°μ–΅ν•©λ‹ˆλ‹€. 호슀트의 netstat -anp μ—λŠ” ν¬νŠΈμ—μ„œ μˆ˜μ‹  λŒ€κΈ° 쀑인 ν•­λͺ©μ΄ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

ports μ„Ήμ…˜μ„ μ™„μ „νžˆ μ œκ±°ν•˜λ©΄ ν”„λ‘œμ„ΈμŠ€κ°€ μ •μƒμ μœΌλ‘œ μ‹œμž‘λ©λ‹ˆλ‹€. 그런 λ‹€μŒ nsenter ... netstat λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆκ°€ ν•΄λ‹Ή λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μ˜¬λ°”λ₯Έ ν¬νŠΈμ—μ„œ μˆ˜μ‹  λŒ€κΈ° 쀑인지 ν™•μΈν•©λ‹ˆλ‹€. 그런 λ‹€μŒ netstat 둜 ν™•μΈν•˜μ—¬ κΈ°λ³Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— 좩돌이 μ—†λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. 그런 λ‹€μŒ nc 와 같은 μœ ν‹Έλ¦¬ν‹°λ₯Ό μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ ν¬νŠΈμ—μ„œ μˆ˜μ‹  λŒ€κΈ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ꡬ성이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 이유λ₯Ό λ¬Έμ„œμ™€ λΉ„κ΅ν•˜μ—¬ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. 결둠은 docker-compose의 ν”„λ‘μ‹œ 섀정에 λ¬Έμ œκ°€ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

_믿을 수 μ—†λŠ”_. 사싀 문제λ₯Ό μΌμœΌν‚¨ μž‘μ€ 였λ₯˜κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‚΄ κ΅¬μ„±μ—λŠ” _2개의_ ν¬νŠΈκ°€ ν•„μš”ν–ˆμœΌλ©° 이 쀑 ν•˜λ‚˜μ— μ˜€νƒ€κ°€ μžˆμ–΄ λ‹€λ₯Έ ν•˜λ‚˜λ₯Ό λ³΅μ œν–ˆμŠ΅λ‹ˆλ‹€. μ–Όκ΅΄ 손바λ‹₯

netstat | grep 5432 ?

μ•ˆλ…•ν•˜μ„Έμš” μ‹€ν–‰ν•΄λ³΄λ‹ˆ 이런 메세지가 λ‚˜μ˜€λ„€μš”..

98808d86b49cff5d 슀트림 0 0 98808d86b6dd9be5 0 0 0 /tmp/.s.PGSQL.5432. 무엇을 해야할지 λ„μ™€μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? 감사 ν•΄μš”

제 경우 μˆ˜μ • 사항은 λ‹¨μˆœνžˆ 포트 바인딩을 λΉ„ν™œμ„±ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ§ˆμ§€λ§‰ 뢀뢄을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

    ports:
      - 5432

이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€, λͺ¨λ“  μ‚¬μš© 사둀에 일반적으둜 적용될 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

docker-compose 자체의 λ¬Έμ œμΌκΉŒμš”?
참고둜:

$ docker-compose --version
docker-compose version 1.12.0, build b31ff33

이 μˆ˜μ • 사항은 μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

docker-compose -version
docker-compose version 1.23.1, build b02f1306

λ‚˜λŠ” μ•½κ°„ λ‹€λ₯Έ 상황이 λ°œμƒν•˜μ—¬ 이 μ‚¬κ±΄μ˜ 또 λ‹€λ₯Έ 사둀λ₯Ό κΈ°λ‘ν•˜κΈ° μœ„ν•΄ 여기에 κ²Œμ‹œν–ˆμŠ΅λ‹ˆλ‹€.

포트 맀핑이 ν¬ν•¨λœ docker-compose.yml 및 docker-compose.override.yml νŒŒμΌμ„ μ‚¬μš©ν•  λ•Œ 호슀트 ν¬νŠΈλŠ” 두 맀핑에 λŒ€ν•΄ λ™μΌν•˜μ§€λ§Œ μ»¨ν…Œμ΄λ„ˆ ν¬νŠΈκ°€ λ‹€λ₯΄λ©΄ 도컀가 μ‹œλ„ν•˜κ³  ν• λ‹Ήν•©λ‹ˆλ‹€. 호슀트 포트λ₯Ό 두 번.

docker-compose.yml:

ports:
  - 8080:8080

docker-compose.override.yml:

ports:
  - 8080:8181

μ•„λ§ˆλ„ 이것은 κ·Έ 자체둜 문제일 수 μžˆμŠ΅λ‹ˆλ‹€. μž¬μ •μ˜ 맀핑을 μƒμ„±ν•˜λ©΄ 바인딩 μ‹œλ„κ°€ μ€‘λ³΅λ©λ‹ˆλ‹€. 이 상황은 특히 μ»¨ν…Œμ΄λ„ˆλ₯Ό 온라인 μƒνƒœλ‘œ λ§Œλ“€λ €κ³  μ‹œλ„ν•  λ•ŒκΉŒμ§€ ν¬νŠΈμ—μ„œ μˆ˜μ‹  λŒ€κΈ° 쀑인 것이 μ—†κΈ° λ•Œλ¬Έμ— 맀우 μ‹¬κ°ν•©λ‹ˆλ‹€. μ‹€νŒ¨ν•˜μ—¬ 전체 ꡬ성이 μ’…λ£Œλ˜μ–΄ ν¬νŠΈκ°€ λ‹€μ‹œ ν• λ‹Ή ν•΄μ œλ©λ‹ˆλ‹€.

@lorenzo-pasa의 μ†”λ£¨μ…˜μ΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€! λ‚˜λŠ” docker-compose 및 nginxλ₯Ό μ‚¬μš©ν•˜κ³  있으며 μš°λΆ„νˆ¬ OSλ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ—¬μ „νžˆ 문제(μ €λ₯Ό ν¬ν•¨ν•˜μ—¬)에 직면해 μžˆλŠ” 것 κ°™μœΌλ©΄μ„œλ„ 이 λ¬Έμ œκ°€ μ’…λ£Œλœ μ΄μœ κ°€ κΆκΈˆν•©λ‹ˆλ‹€. (예λ₯Ό λ“€μ–΄) 8080:8080 λ₯Ό 쓰지 μ•Šκ³  항상 8080 λŒ€μ‹  μ“°λŠ” 곡식 μˆ˜μ • μ‚¬ν•­μž…λ‹ˆκΉŒ? 이것은 뢈만이 μ•„λ‹ˆλΌλŠ” 점을 λΆ„λͺ…νžˆ ν•˜κΈ° μœ„ν•΄ μ§„μ‹¬μœΌλ‘œ κΆκΈˆν•©λ‹ˆλ‹€.

@Ezwen λ™μ˜
μœ„μ— κ²Œμ‹œλœ λͺ¨λ“  μ œμ•ˆμ„ μ‹œλ„ν–ˆμ§€λ§Œ μ—¬μ „νžˆ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
PHPstorm을 μ‹€ν–‰ 쀑이고 dockerboxμ—μ„œ λ‚΄ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ Xdebugν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ‚΄ dockerboxλ₯Ό μ‹œμž‘ν•  λ•Œ docker-compose up을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

포트:
- "9001:9001"

포트λ₯Ό μ˜¬λ°”λ₯΄κ²Œ λ…ΈμΆœν•©λ‹ˆλ‹€. (vpnkit.exeλŠ” Docker의 μΌλΆ€μž…λ‹ˆλ‹€)
grafik

vpnkit.exeκ°€ 포트 9001을 μˆ˜μ‹ ν•˜κ³  μžˆμŒμ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이제 PHPstormμ—μ„œ Xdebugλ₯Ό μ‹œμž‘ν•˜λ €κ³  ν•˜λ©΄ 였λ₯˜ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
grafik

도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹œμž‘ν•  λ•Œ vpnkit.exeμ—μ„œ 항상 μ‚¬μš©ν•˜λŠ” 포트 9001을 μˆ˜μ‹ ν•˜λ„λ‘ PHPstorm 디버거에 μ§€μ‹œν•  수 μ—†λŠ” 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

@lorenzo-pasa κ°μ‚¬ν•©λ‹ˆλ‹€! 그것은 μ •ν™•νžˆ λ‚΄ λ¬Έμ œμ˜€μœΌλ©° κ·€ν•˜μ˜ μ†”λ£¨μ…˜μ΄ νš¨κ³Όκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 결과없이 이것을 ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ§Žμ€ 것을 μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ κ°μ‚¬ν•©λ‹ˆλ‹€!

였늘 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€( postgres μ»¨ν…Œμ΄λ„ˆ μ‚¬μš©). docker-compose down λ₯Ό μ‹œλ„ν•œ λ‹€μŒ λ‹€μ‹œ up λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ λ¬Έμ œλŠ” μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

docker-compose ps 및 docker ps 빈 좜λ ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 해결책을 μ°Ύμ•˜μ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이것이 λ‚΄ postgres μ„œλΉ„μŠ€κ°€ μ •μ˜λœ λ°©μ‹μž…λ‹ˆλ‹€

version: '2.1'

services:

  postgres:
    image: postgres:9.5.4
    env_file:
      - docker-compose.env
    ports:
      - 5432:5432

제 경우 μˆ˜μ • 사항은 λ‹¨μˆœνžˆ 포트 바인딩을 λΉ„ν™œμ„±ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ§ˆμ§€λ§‰ 뢀뢄을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

    ports:
      - 5432

이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€, λͺ¨λ“  μ‚¬μš© 사둀에 일반적으둜 적용될 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

docker-compose 자체의 λ¬Έμ œμΌκΉŒμš”?
참고둜:

$ docker-compose --version
docker-compose version 1.12.0, build b31ff33

λ‚˜μ—κ²Œ λ¬Έμ œλŠ” λ‹€λ₯Έ 도컀 μ»¨ν…Œμ΄λ„ˆκ°€ λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ˜ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ 계속 μ‹€ν–‰λ˜κ³  μžˆλ‹€λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ„ μ‹€ν–‰ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

μ–ΈκΈ‰ν•œ @maritaria 와 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

@freesoft 이에 λŒ€ν•œ μƒˆ 문제λ₯Ό μ—¬λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” μ—¬κΈ°μ—μ„œ λͺ¨λ“  것을 μ‹œλ„ν–ˆμ§€λ§Œ 아무 것도 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

sudo lsof -i -P -n | κ·Έλ ™ 5432

λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ₯Ό μ’…λ£Œ
μŠ€λ„ 킬

그런 λ‹€μŒ 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.

와 같은 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

 Version:           18.09.3
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        774a1f4
 Built:             Thu Feb 28 06:53:11 2019
 OS/Arch:           linux/amd64
 Experimental:      false

의 ν•œ docker-proxy ν”„λ‘œμ„ΈμŠ€ λ•Œλ¬Έμ— μ‚¬λ§ν•˜κ³ , 맀달렀 μžˆμ—ˆλ‹€ systemctl restart docker 문제λ₯Ό ν•΄κ²°ν–ˆλ‹€.

docker system prune(이 λͺ…령에 주의)을 μ‹€ν–‰ν•œ λ‹€μŒ dockerλ₯Ό λ‹€μ‹œ μ‹œμž‘ν–ˆλŠ”λ° μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

docker network prune 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

sudo lsof -i -P -n | κ·Έλ ™ 5432

λ‚˜λ₯Ό μœ„ν•΄ μΌν•œ ec2 Linux μΈμŠ€ν„΄μŠ€

sudo lsof -i -P -n | κ·Έλ ™

λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€λ§Œ μ§€κΈˆ ν”„λ‘œμ„ΈμŠ€λ₯Ό 계속 μ’…λ£Œν•΄μ•Όν•©λ‹ˆκΉŒ?

제 κ²½μš°μ—λŠ” λ™μΌν•œ 포트둜 λ‘œμ»¬μ—μ„œ 이미 μ‹€ν–‰ 쀑인 node.js μΈμŠ€ν„΄μŠ€κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ μ€‘μ§€ν–ˆμ„ λ•Œ docker-compose up --build 이 μž‘λ™ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€!

제 κ²½μš°μ—λŠ” SOλ₯Ό λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€.

@Rub21 의

sudo lsof -i -P -n | grep <port number>

μ‚¬μš© ν”„λ‘œκ·Έλž¨μ„ docker-pr 라고 λΉ„λ‚œν–ˆμŠ΅λ‹ˆλ‹€.

그에 따라 검색 ν‚€μ›Œλ“œλ₯Ό μ—…λ°μ΄νŠΈν•œ ν›„ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€ .
ν• λ‹Ήλœ κ²ƒμœΌλ‘œ κ°„μ£Όλ˜μ§€ μ•Šμ§€λ§Œ μ–΄μ¨Œλ“  μžˆλŠ” 포트λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό 배포할 수 μ—†λŠ” 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

감사 ν•΄μš”.

BTW:
제 κ²½μš°μ—λŠ” 였λ₯˜μ˜ 원인이 docker network prune λ₯Ό μ‹€ν–‰ν•˜λŠ” λ™μ•ˆ κ°•μ œ μ’…λ£Œλ₯Ό μˆ˜ν–‰ν•œ 것이라고 μƒκ°ν•©λ‹ˆλ‹€.
cliκ°€ μž‘μ—…μ„ μ™„λ£Œν•  수 μ—†μ—ˆκΈ° λ•Œλ¬Έμ— 도컀/λ„€νŠΈμ›Œν¬ κ²½λ‘œμ— "μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”" μž”μ—¬λ¬Όμ΄ λͺ¨λ‘ μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

제 κ²½μš°μ—λŠ” https://github.com/docker/for-mac/issues/205#issuecomment -250856158이 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

On linux users have reported that after remove local-kv.db with all containers stoped the problem gets solved.

νŒŒμΌμ€ /var/lib/docker/network/files/local-kv.db에 μžˆμŠ΅λ‹ˆλ‹€.

kill -9 $(sudo lsof -i -P -n | grep 8888 | awk '{print $2}') 이(κ°€) λ‚˜λ₯Ό μœ„ν•΄ μ†μž„μˆ˜λ₯Ό μΌμŠ΅λ‹ˆλ‹€.

λΆˆν–‰νžˆλ„ "kill -9.."λ₯Ό μ‚¬μš©ν•œ νŠΈλ¦­μ€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
docker-proxy ν”„λ‘œμ„ΈμŠ€ λŒ€μ‹  μ’€λΉ„λ₯Ό μ–»μ—ˆμŠ΅λ‹ˆλ‹€.

docker run -it -p 50000:50000 hello-world
도컀: 데λͺ¬μ˜ 였λ₯˜ 응닡: λ“œλΌμ΄λ²„κ°€ 끝점 musing_dijkstraμ—μ„œ μ™ΈλΆ€ 연결을 ν”„λ‘œκ·Έλž˜λ°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€(2afd0e53bb80223bc07650e59bd16b43c6d971828a589db6f43dfa50a7a1ab42): 0.0.000에 λŒ€ν•œ 포트 바인딩이 이미 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.

docker run -it -p 80:80 hello-world
도컀: 데λͺ¬μ˜ 였λ₯˜ 응닡: λ“œλΌμ΄λ²„κ°€ 끝점 cocky_goldbergμ—μ„œ μ™ΈλΆ€ μ—°κ²° ν”„λ‘œκ·Έλž˜λ° μ‹€νŒ¨(8dab653c7575c298efea1b808ef2ff16f19bb6c23f51612787e19a434ceeb2ff): 포트 0.0.0.0에 λŒ€ν•œ 바인딩이 이미:80 μ‹€νŒ¨: 할당됨

상단 | κ·Έλ ™ μ’€λΉ„
μž‘μ—…: 총 319개, μ‹€ν–‰ 1개, 잠자기 181개, 쀑지 0개, μ’€λΉ„ 2개

μš°λ‚˜λ©” -r
4.14.35-1844.4.5.el7uek.x86_64

@lorenzo-pasa μ˜μ‚¬ μ„œλΉ„μŠ€μ— λŒ€ν•΄ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμœΌλ©° κ·€ν•˜μ˜ 트릭이 μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ†”λ£¨μ…˜μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

도컀 쀑지 $(도컀 ps -a -q)
도컀 rm $(도컀 ps -a -q)
그런 λ‹€μŒ κΈ°μ‘΄ 데이터(예: docker volume rm docker_db_data)λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.
도컀 ꡬ성

@joseph-luketelo의 이 μ†”λ£¨μ…˜(κ°μ‚¬ν•©λ‹ˆλ‹€!)은 MacOS Mojaveμ—μ„œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. "κΈ°μ‘΄ 데이터λ₯Ό 제거..."ν•  ν•„μš”μ‘°μ°¨ μ—†μ—ˆμŠ΅λ‹ˆλ‹€. 처음 두 λͺ…령을 μ‹€ν–‰ν•˜λ©΄ ν•΄κ²°λ©λ‹ˆλ‹€.

  • /var/lib/docker/network/files/local-kv.db μ‚­μ œ(λͺ¨λ“  ν•­λͺ©μ„ λ„κ±°λ‚˜ 끔)κ°€ μž‘λ™ν•˜μ§€ μ•ŠμŒ
  • 가지 치기 λ„€νŠΈμ›Œν¬κ°€ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€
  • λͺ¨λ“  λ³Όλ₯¨ 및 μ»¨ν…Œμ΄λ„ˆ μ‚­μ œκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŒ
  • μœ„μ˜ λͺ¨λ“  μž‘μ—…μ„ ν•¨κ»˜ μˆ˜ν–‰ν•˜λ©΄ μž‘λ™ν•˜μ§€ μ•ŠμŒ
  • 포트λ₯Ό μ μœ ν•˜λŠ” docker-proxy μΈμŠ€ν„΄μŠ€ μ’…λ£Œκ°€ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€(ν•΄λ‹Ή ν¬νŠΈμ— λŒ€ν•œ netstat 좜λ ₯μ—λŠ” 더 이상 아무 것도 ν‘œμ‹œλ˜μ§€ μ•Šμ§€λ§Œ μ—¬μ „νžˆ 이 였λ₯˜ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ¨).
  • μœ„μ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•œ λ‹€μŒ docker μ„œλΉ„μŠ€λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜λ©΄ docker-compose up κ°€ λ¬΄κΈ°ν•œ μ€‘λ‹¨λ©λ‹ˆλ‹€.

이것은 ν•œ 달 λ™μ•ˆ 거의 맀주 λ‚˜μ—κ²Œ μΌμ–΄λ‚˜κ³  있으며 μ§€κΈˆκΉŒμ§€ νŠΈλ¦­μ„ μˆ˜ν–‰ν•˜λŠ” μœ μΌν•œ 방법은 맀번 도컀λ₯Ό λ‹€μ‹œ μ„€μΉ˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이게 μ™œ λ‹«ν˜€μžˆλ‚˜μš”? μœ„μ˜ 단계λ₯Ό μˆ˜ν–‰ν•˜λ”λΌλ„ 이것은 λΆ„λͺ…νžˆ λ‹€μ–‘ν•œ λ²„κ·Έμž…λ‹ˆλ‹€ ...

μ–ΈκΈ‰ 된 λͺ¨λ“  μ†”λ£¨μ…˜μ΄ μ €μ—κ²Œ νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

이것은 μž‘λ™ν•©λ‹ˆλ‹€:

sudo rm -rf /var/lib/docker
sudo service docker restart # to re-create the db again

λ˜ν•œ docker 및 docker-composeλ₯Ό λ‹€μ‹œ μ„€μΉ˜ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ 이 단계가 도움이 될지 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μœ„μ—μ„œ μ–ΈκΈ‰ν•œ 단계λ₯Ό μˆ˜ν–‰ν•  λ•ŒκΉŒμ§€ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

였늘 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€( postgres μ»¨ν…Œμ΄λ„ˆ μ‚¬μš©). docker-compose down λ₯Ό μ‹œλ„ν•œ λ‹€μŒ λ‹€μ‹œ up λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ λ¬Έμ œλŠ” μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

docker-compose ps 및 docker ps 빈 좜λ ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 해결책을 μ°Ύμ•˜μ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이것이 λ‚΄ postgres μ„œλΉ„μŠ€κ°€ μ •μ˜λœ λ°©μ‹μž…λ‹ˆλ‹€

version: '2.1'

services:

  postgres:
    image: postgres:9.5.4
    env_file:
      - docker-compose.env
    ports:
      - 5432:5432

제 경우 μˆ˜μ • 사항은 λ‹¨μˆœνžˆ 포트 바인딩을 λΉ„ν™œμ„±ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ§ˆμ§€λ§‰ 뢀뢄을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

    ports:
      - 5432 (this also solve my problem)

이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€, λͺ¨λ“  μ‚¬μš© 사둀에 일반적으둜 적용될 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

docker-compose 자체의 λ¬Έμ œμΌκΉŒμš”?
참고둜:

$ docker-compose --version
docker-compose version 1.12.0, build b31ff33

포트 바인딩 λΉ„ν™œμ„±ν™”λ„ λ‚΄ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

도컀 ꡬ성을 λ‹€μ‹œ λΉŒλ“œν•œ 후에도 λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

γƒβžœ docker-compose up
Screen Shot 2020-02-03 at 10 38 30 AM

λ‚˜λŠ” μ‹œλ„ν–ˆλ‹€:
γƒβžœ docker-compose down
κ·ΈλŸ¬λ‚˜ μ—¬μ „νžˆ 같은 λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€ ....

ef18b3f0f2864b22e102): Bind for 0.0.0.0:10002 failed: port is already allocated

ERROR: for db  Cannot start service db: driver failed programming external connectivity on endpoint eeschenck_db_1 (a7caadb27e327b901df83bb42fd19bd704224aa03a75ef18b3f0f2864b22e102): Bind for 0.0.0.0:10002 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

그런 λ‹€μŒ Docker μ‘μš© ν”„λ‘œκ·Έλž¨μ„ λ‹€μ‹œ μ‹œμž‘ν•˜κ³  docker ν™•μž₯이 μžˆλŠ” 'Visual Studio Code' IDEλ₯Ό μ’…λ£Œν–ˆμŠ΅λ‹ˆλ‹€...

Screen Shot 2020-02-03 at 10 47 23 AM

그런 λ‹€μŒ λ‹€μ‹œ ν•œ 번 μ‹œλ„ν•˜κ³  포트λ₯Ό netstatν•˜λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.
γƒβžœ netstat -n | grep 10002
ν•΄λ‹Ή ν¬νŠΈμ— λŒ€ν•œ ν•­λͺ©μ΄ μ—†μŠ΅λ‹ˆλ‹€... 전에 μ‹œλ„ν–ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

γƒβžœ docker-compose up

Screen Shot 2020-02-03 at 10 52 16 AM

Visual Studio Code Docker ν™•μž₯이 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.

docker-compose 파일 ꡬ성을 κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?
포트 λ―ΈλŸ¬λ§μ„ μ œκ±°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆλ‹€

docker-compose down
docker network prune
sudo service docker restart
docker-compose up

였늘 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€( postgres μ»¨ν…Œμ΄λ„ˆ μ‚¬μš©). docker-compose down λ₯Ό μ‹œλ„ν•œ λ‹€μŒ λ‹€μ‹œ up λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ λ¬Έμ œλŠ” μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

docker-compose ps 및 docker ps 빈 좜λ ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 해결책을 μ°Ύμ•˜μ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이것이 λ‚΄ postgres μ„œλΉ„μŠ€κ°€ μ •μ˜λœ λ°©μ‹μž…λ‹ˆλ‹€

version: '2.1'

services:

  postgres:
    image: postgres:9.5.4
    env_file:
      - docker-compose.env
    ports:
      - 5432:5432

제 경우 μˆ˜μ • 사항은 λ‹¨μˆœνžˆ 포트 바인딩을 λΉ„ν™œμ„±ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ§ˆμ§€λ§‰ 뢀뢄을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

    ports:
      - 5432

이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€, λͺ¨λ“  μ‚¬μš© 사둀에 일반적으둜 적용될 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

docker-compose 자체의 λ¬Έμ œμΌκΉŒμš”?
참고둜:

$ docker-compose --version
docker-compose version 1.12.0, build b31ff33

@lorenzo-pasa κ°μ‚¬ν•©λ‹ˆλ‹€. 이 μ†”λ£¨μ…˜μ΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

Macμ—μ„œ 도컀 λ°μŠ€ν¬νƒ‘ 데λͺ¬μ„ λ‹€μ‹œ μ‹œμž‘ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€(Docker Desktop 2.2.0.4).
μ‹œμž‘ μ‹œ λ­”κ°€ 잘λͺ» μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

도컀 쀑지 $(도컀 ps -a -q)
-8080:8080 ~ -8080 λ˜λŠ” docker rm$(...)와 같은 λ‹€λ₯Έ 고정을 μ‹œλ„ν•˜κΈ° 전에 이 λͺ…령을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€.

λ‚΄ 컴퓨터λ₯Ό μž¬μ„€μ •ν•˜κ³  λ‹€μ‹œ μž‘λ™ν•˜κΈ° μ‹œμž‘ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ μ •ν™•ν•œ μ†”λ£¨μ…˜μ€ μ•„λ‹ˆμ§€λ§Œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

docker psκ°€ 아무 것도 좜λ ₯ν•˜μ§€ μ•Šκ³  docker-compose down/up이 도움이 λ˜μ§€ μ•ŠμœΌλ©΄ ν¬νŠΈκ°€ λ‹€μŒ λͺ…λ Ήκ³Ό ν•¨κ»˜ μ‚¬μš©λ˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
sudo lsof -i -P -n | grep 9200

κ·Έλ ‡λ‹€λ©΄ λ‹€μŒμ„ μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€.
sudo service docker restart

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μš” :

docker-compose down
docker-compose build
docker-compose up -d

κ·ΈλŸ¬λ‚˜ λ•Œλ•Œλ‘œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€

ERROR: for xxxxxx  Cannot start service web: driver failed programming external connectivity on endpoint xxxxx (xxxx): Bind for 0.0.0.0:22000 failed: port is already allocated

λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆκ°€ κ±°κΈ°μ—μ„œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— 도컀λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

@KorossGame 이 μ œμ•ˆν•œ @mogadanezμ—μ„œ 이미 이 포트λ₯Ό μ‚¬μš© 쀑인 ν”„λ‘œμ„ΈμŠ€λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

쒋은 ν•˜λ£¨ λ³΄λ‚΄μ„Έμš”,

@pandaatrail
λ„μ»€μ΄μ§€λ§Œ λ„μ›€μ΄λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 전체 도컀λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

@mogadanez 도컀λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•  수 μ—†λŠ” 경우 - νŠΉμ • 포트λ₯Ό μ‚¬μš© 쀑인 ν•­λͺ©μ„ ν™•μΈν•˜μ‹­μ‹œμ˜€.
sudo lsof -i -P -n | grep 9200
λ˜ν•œ 도컀 μ»¨ν…Œμ΄λ„ˆκ°€ λ‹€μŒκ³Ό 같은 μž…λ ₯ 포트λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€ μ•Šμ€μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
docker ps

그것은 λ‹¨μˆœνžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. lsof λŠ” μ‚¬μš© 쀑인 포트λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이미지λ₯Ό μ œκ±°ν•˜κ³  전체 μŠ€νƒμ„ λ‹€μ‹œ 생성해도 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 도컀λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•΄λ„ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. νš¨κ³Όκ°€ μžˆμ—ˆλ˜ 것은 μ‹œμŠ€ν…œμ„ μž¬λΆ€νŒ…ν•˜λŠ” κ²ƒλΏμ΄μ—ˆμŠ΅λ‹ˆλ‹€. ν–‰μš΄μ„ λΉ•λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”,
λ™μΌν•œ 포트λ₯Ό μ‚¬μš©ν•˜λŠ” λ‹€λ₯Έ μ„œλΉ„μŠ€κ°€ μžˆλŠ”μ§€ ν™•μΈν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

Windowsλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  1. docker-compose down
  2. netstat -ano | findstr :port (예 netstat -ano | findstr :18080 )
  3. taskkill /pid the_pid_of_the_port /f
  4. docker-compose up

그게 λ‹€μ•Ό πŸ˜„

@olfamoussaoui λ‚˜λŠ” λͺ¨λ“  것을 μ‹œλ„ν–ˆμ§€λ§Œ Macμš©μž…λ‹ˆλ‹€. μ†”λ£¨μ…˜μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@gabrielhpugliese ν¬νŠΈκ°€ μ‚¬μš©

@olfamoussaoui λ‚˜λŠ” λͺ¨λ“  것을 μ‹œλ„ν–ˆμ§€λ§Œ Macμš©μž…λ‹ˆλ‹€. μ†”λ£¨μ…˜μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μš°λΆ„νˆ¬μ—μ„œ λΉ„μŠ·ν•œ μž‘μ„± λ™μž‘μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 잘λͺ»λœ iptables 섀정에 λ”°λ₯Έ λΆ€μž‘μš©μ΄μ—ˆμŠ΅λ‹ˆλ‹€. 포트 λ³€ν™˜μ€ μˆ˜λ™μœΌλ‘œ ν™•μΈν•˜κ³  ν•΄μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. MacOS의 μ˜¬λ°”λ₯Έ ꡬ문을 κΈ°μ–΅ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. 둜제트 μŠ€ν†€μœΌλ‘œ μ°ΎλŠ” 것이 그리 어렡지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” μ™œ λ‚΄κ°€ κ·Έ λͺ¨λ“  것을 ν•„μš”λ‘œν•˜λŠ”μ§€ μ΄ν•΄ν•˜μ§€ λͺ»ν•˜κ³  λ¬Έμ œλŠ” 멀리 λ–¨μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€. 그것
λ‚΄κ°€ λ§Œλ“€κ³  μžˆλŠ” μƒˆ 섀정이 μ•„λ‹ˆλ©° μƒˆλ‘œ λ§Œλ“€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
μ»¨ν…Œμ΄λ„ˆ/μ„œλΉ„μŠ€. 방금 up -dλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ²„ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ‹€μ‹œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.
--짓닀. 정말 이상해.

vitaly-zverev [email protected] schrieb am Mi., 2020λ…„ 8μ›” 19일,
17:27:

@olfamoussaoui https://github.com/olfamoussaoui λ‹€ μ‹œλ„ν–ˆμ§€λ§Œ
λ§₯용. μ†”λ£¨μ…˜μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μš°λΆ„νˆ¬μ—μ„œ λΉ„μŠ·ν•œ μž‘μ„± λ™μž‘μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 에 κ·Όκ±°ν•œ λΆ€μž‘μš©μ΄μ—ˆλ‹€.
잘λͺ»λœ iptables μ„€μ •. 포트 λ²ˆμ—­μ„ ν™•μΈν•˜κ³  ν•΄μ œν•΄μ•Ό ν•©λ‹ˆλ‹€.
μˆ˜λ™μœΌλ‘œ. MacOS의 μ˜¬λ°”λ₯Έ ꡬ문을 κΈ°μ–΅ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. κ·Έλ ‡κ²Œ 어렡지 μ•Šμ•„μ•Όν•©λ‹ˆλ‹€
둜제트 μŠ€ν†€μœΌλ‘œ μ°ΎμœΌμ‹­μ‹œμ˜€.

β€”
당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/docker/compose/issues/4950#issuecomment-676495723 ,
λ˜λŠ” ꡬ독 μ·¨μ†Œ
https://github.com/notifications/unsubscribe-auth/AAJR3UTBMGLV2ECW5GCNQDTSBPVNXANCNFSM4DQLFGPQ
.

λ‚˜λŠ” μ™œ λ‚΄κ°€ κ·Έ λͺ¨λ“  것을 ν•„μš”λ‘œν•˜λŠ”μ§€ μ΄ν•΄ν•˜μ§€ λͺ»ν•˜κ³  λ¬Έμ œλŠ” 멀리 λ–¨μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ κ΅¬μΆ•ν•˜κ³  μžˆλŠ” μƒˆλ‘œμš΄ 섀정이 μ•„λ‹ˆλ©° μƒˆλ‘œμš΄ μ»¨ν…Œμ΄λ„ˆ/μ„œλΉ„μŠ€λ₯Ό λ§Œλ“€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 방금 up -d --buildλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ²„ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ‹€μ‹œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 정말 이상해. vitaly-zverev [email protected] schrieb am Mi., 2020λ…„ 8μ›” 19일, 17:27:
…
@olfamoussaoui https://github.com/olfamoussaoui λͺ¨λ“  것을 μ‹œλ„ν–ˆμ§€λ§Œ Macμš©μž…λ‹ˆλ‹€. μ†”λ£¨μ…˜μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μš°λΆ„νˆ¬μ—μ„œ λΉ„μŠ·ν•œ μž‘μ„± λ™μž‘μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 잘λͺ»λœ iptables 섀정에 λ”°λ₯Έ λΆ€μž‘μš©μ΄μ—ˆμŠ΅λ‹ˆλ‹€. 포트 λ³€ν™˜μ€ μˆ˜λ™μœΌλ‘œ ν™•μΈν•˜κ³  ν•΄μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. MacOS의 μ˜¬λ°”λ₯Έ ꡬ문을 κΈ°μ–΅ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. 둜제트 μŠ€ν†€μœΌλ‘œ μ°ΎλŠ” 것이 그리 어렡지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. β€” 당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 이메일에 직접 λ‹΅μž₯ν•˜κ±°λ‚˜ GitHub < #4950 (comment) >μ—μ„œ ν™•μΈν•˜κ±°λ‚˜ https://github.com/notifications/unsubscribe-auth/AAJR3UTBMGLV2ECW5GCNQDTSBPVNXANCNFSM4DQLFGPQ ꡬ독을 μ·¨μ†Œ

음, μ•Œκ² μŠ΅λ‹ˆλ‹€. 도컀가 λ„€νŠΈμ›Œν¬ λ²ˆμ—­κ³Ό ν†΅ν•©λœ μœ„μΉ˜μ—μ„œ κ·Όλ³Έ 원인을 뢄석해야 ν•©λ‹ˆλ‹€. OS에 따라 λ‹€λ₯΄λ©° λ§Žμ€ μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€.
λͺ¨λ“  톡합 버그와 λ§ˆμ°¬κ°€μ§€λ‘œ.

쒋은 닡변을 많이 λ°›μ•˜μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ¬Έμ œκ°€ λ‚΄κ°€ Catalina에 μ„€μΉ˜ν•œ λ‹€λ₯Έ μ•±(Sky Go)μ΄λΌλŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 이 앱은 λ‹«ν˜€ μžˆμ–΄λ„ 포트 μΆ©λŒμ„ μΌμœΌν‚€κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
μ΄λŸ¬ν•œ μ•±(Skype 포함)이 문제λ₯Ό μΌμœΌν‚€μ§€ μ•ŠλŠ”μ§€ ν™•μΈν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ˜ν•œ 같은 λ¬Έμ œμ— μ§λ©΄ν–ˆλ‹€. 포트 8080을 μ‚¬μš©ν•˜κ³  있으며 도컀λ₯Ό μ‹€ν–‰ν•˜λ €κ³  ν•  λ•Œλ§ˆλ‹€ 이미 μ‚¬μš© 쀑인 포트 8080이 ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ 포트λ₯Ό μ°¨λ‹¨ν–ˆλŠ”μ§€ ν™•μΈν–ˆμ§€λ§Œ 아무 것도 찾지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.
그런 λ‹€μŒ λ‹€μŒ 단계λ₯Ό μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

  • docker-compose down(λ‚΄ μ»¨ν…Œμ΄λ„ˆ 쀑지)
  • docker ps (λ‚΄ κ²½μš°μ—λŠ” λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆκ°€ μ‹€ν–‰ 쀑인지 ν™•μΈν•˜κΈ° μœ„ν•΄ λ‚˜λŠ” hasura graphql이 μ‹€ν–‰ μ€‘μž„μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€)
  • 도컀 μ»¨ν…Œμ΄λ„ˆ 쀑지 [Container_ID]
  • docker container rm [Container_ID] (λ‚΄ κ²½μš°μ—λŠ” μ»¨ν…Œμ΄λ„ˆλ„ μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€)
    μœ„μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ”°λ₯Έ ν›„ λ‚΄ 도컀가 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

WSL2λ₯Ό μ‚¬μš© 쀑인 경우 Hyper-Vκ°€ ν™œμ„±ν™”λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 ν™œμ„±ν™”ν•˜λ©΄ λ©λ‹ˆλ‹€.

OS μž¬μ‹œμž‘μ΄ 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰