이 글은 우분투 환경에서 작성되었습니다.
현재 내가 구동 중인 docker-compose.yml 파일
- 어렵게 생각했었는데 docker run 할때 요소들이 녹아 든것 뿐 어렵지않다.
- 정정 어려운듯 싶다. 다른 docker-compose 파일에 이전 docker images를 적용할때 줄이 맞지 않아 문제가 발생하기도 했다. 안되면 꼭 줄확인 (특히, 복붙시에)
- 그리고 $ docker-compose down 후 docker-compose 파일을 고쳐봐야 아래입력한 설정값들은 적용안되므로 $ docker ps 로 확인 cp $ docker rm -f [NAMES or CONTAINER ID]를 입력한다.
version: "3.7" # 파일 규격 버전
# docker-compose 버전으로 버전3부터는 links 옵션을 넣지않아도 docker-compose내의 Container는 연결된다.
services: # 이 항목 밑에 실행하려는 컨테이너 들을 정의 ( 컴포즈에서 컨테이너 : 서비스 )
db: # 서비스 명
image: mysql:8.0.17 # 사용할 이미지
restart: always
command: --lower_case_table_names=1
container_name: db # 컨테이너 이름 설정
ports:
- "3306:3306" # 접근 포트 설정 (컨테이너 외부:컨테이너 내부) #<- 컨테이너 내부는 무조건 3306 외부는 로컬을 뜻한다. (or 클라우드환경)
environment: # -e 옵션
- MYSQL_DATABASE=testdb
- MYSQL_ROOT_PASSWORD=root # MYSQL 패스워드 설정 옵션
- TZ=Asia/Seoul
command: # 명령어 실행
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- ~/workspace/pyspark/db:/var/lib/mysql # -v 옵션 (다렉토리 마운트 설정)
py_spark:
image : jo1013/pyspark:0.05
restart : always
container_name : py_spark
ports :
- "8888:8888"
- "8000:8000"
volumes:
- ~/workspace:/home
'containername' exited with code 0 이 나올 경우
해당 컨테이너에 아래와같은 부분을 추가해준다.
stdin_open: true #docker run 에서 -i를 의미
tty: true #docker run 에서 -t를 의미
- docker-compose start // 정지한 컨테이너를 재개
- docker-compose start mysql // mysql 컨테이너만 재개
- docker-compose restart // 이미 실행 중인 컨테이너 다시 시작
- docker-compose restart redis // 이미 실행중인 redis 재시작
- docker-compose stop // gracefully stop함.
- docker-compose stop wordpress docker-compose down // stop 뿐만 아니라 컨테이너 삭제까지
- docker-compose logs docker-compose logs -f // 로그 watching
- docker-compose ps // 컨테이너 목록
- docker-compose exec [컨테이너] [명령어] docker-compose exec wordpress bash // wordpress에서 bash 명령어 실행
- docker-compose build // build 부분에 정의된 대로 빌드
- docker-compose build wordpress // wordpess 컨테이너만 빌드
- docker-compose run [service] [command] // 이미 docker-compose 가동 중인 것과 별개로 하나 더 올릴 때
- docker-compose run nginx bash
출처 :https://velog.io/@noyo0123/%EB%8F%84%EC%BB%A4%EB%A1%9C-mysql-%EB%9D%84%EC%9B%8C%EB%B3%B4%EC%9E%90
출처 :https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose
'DataEnginner > Docker' 카테고리의 다른 글
docker 에서 jupyter notebook 한글 깨짐 (0) | 2021.11.10 |
---|---|
Docker container / DB연결 (3) | 2021.07.08 |
Docker(도커) 를 사용하면서 필요한 기본적인 명령어 (1) | 2021.05.06 |