1. 시작 `docker-compose.yml` 파일을 작성하면서 사용했던 옵션 및 yml 별칭 기능으로 yml 파일에 반복되는 구문은 간략화시킬 수 있는 샘플 docker-compose.yml이다. 2. 내용 version: 'x.x' networks: sample_network: # 네트워크 정의 driver: bridge # `sample_network`는 bridge 입니다. ipam: config: - subnet: 10.5.0.0/16 # IPv4 네트워크 대역 설정 gateway: 10.5.0.1 # IPv4 GW 네트워크 고정 정의 - subnet: "2001:db8:1::/64" # IPv6 네트워크 대역 설정 gateway: "2001:db8:1::1" # IPv6 GW 네트워크 고정 ..
시작 Python(Cuda) 이미지를 가져와 Whisper STT 서버 컨테이너를 Dockerfile에서 작성 후 docker-compose 에서 entrypoint 를 `python3 app.py --server_name 0.0.0.0` 로 지정하고 `docker-compose up` 명령어를 사용했을 때 로그에서 `Attaching to [컨테이너명]` 에서 멈추는 현상을 발견하였고 삽질을 했다. 그래서 `docker exec -itu 0 ` 명령어로 해당 컨테이너에 들어가보면 정상적으로 진입은 하였지만 애플리케이션이 실행되진 않았다.(entrypoint 명령어가 실행되지 않았다.) 삽질 #1 entrypoint 말고 command 로 설정 결과 실패(동일증상) 삽질 #2 Dockerfile 에서 e..
Docker 외부 디렉토리와 컨테이너 내부 디렉토리와 연결 방법 주의 아래 옵션 적용 시 컨테이너 내부에 이미 있는 디렉토리일 경우 로컬 디렉토리 내용으로 덮어씌워진다. 컨테이너 생성 시 `docker run` 명령어를 사용하는데 이 때 적용시킬 수 있다. 해당 옵션을 적용시킬 시 장점이 있다. 로컬 디렉토리와 공유할 수 있는 디렉토리가 생긴다. (외부에서 파일을 가져올 경우 덜 번거롭다) 컨테이너를 초기화 해야할 경우 쉽게 백업할 수 있다. docker run -v [로컬 디렉토리]:[컨테이너 디렉토리] `-v`옵션을 적용시키고 추가로 포트(`-p`) , 이름(`--name`) 등을 추가로 적용시키면 된다.
죽은 컨테이너 접속 방법 Docker를 사용하다 보면 컨테이너의 configure 파일 등을 잘못 입력하고 restart 해버리는 경우 다시 start를 못하는 경우가 발생할 수 있다. 아래 명령어를 사용하여 해결할 수 있다. 해당 명령어는 컨테이너밖(로컬) 환경에 있는 데이터를 컨테이너 내부의 디렉토리로 복사하는 명령어이다. docker cp :/ / 컨테이너ID 는 `docker ps -a` 명령어로 확인할 수 있다. 보통 죽은 컨테이너(꺼진 컨테이너)는 STATUS가 Exited 로 되어있다. 아직 컨테이너를 죽여본 적이 없어 테스트 해보진 못했다(귀찮다).