반응형
도커 컴포즈
- 도커 컴포즈 파일명은 docker-compose.yml로 되어야 한다. (파일명을 다르게 하고 싶을경우 -f 옵션으로 사용가능)
- 하나의 폴더를 생성하여 하나의 docker-compose.yml 파일을 생성
- 해당 폴더로 이동하여 도커 컴포즈 명령 실행
- 다른 디렉터리에서 명령을 시도하면 아래와 같이 .yml오류가 반환
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
도커 컴포즈 명령
- 실행 : docker-compose up -d (-d : 백그라운드 실행)
- 종료 : docker-compose stop
- 강제종료 : docker-compose kill
- 컨테이너 삭제 (처음부터 시작할 경우) : docker-compose rm
redmine, mariadb, gitlab
# docker-compose.yml
version: '3'
services:
redmine:
image: redmine
restart: always
container_name: redmine
ports:
- 3000:3000
environment:
REDMINE_DB_MYSQL: mariadb
REDMINE_DB_PASSWORD: redmine-password
REDMINE_DB_DATABASE: redmine
REDMINE_DB_ENCODING: utf8
mariadb:
image: mariadb
restart: always
container_name: mariadb
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: redmine-password
MYSQL_DATABASE: redmine
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
gitlab:
image: gitlab/gitlab-ce
restart: always
container_name: gitlab
ports:
- 8090:80
- 443:443
- 22:22
environment:
GITLAB_ROOT_PASSWORD: hitomis
GITLAB_TIMEZONE: Asia/Seoul
ps. 위 파일 중 gitlab 이미지의 기본포트가 80이라 8090으로 매핑해주었다.
docker-compose up -d 명령으로 실행 시 아래와 같이 이미지를 다운받고, 실행된다.
docker ps 명령으로 실행중이 프로세스를 확인하면 2개의 컨테이너가 실행중이다.
브라우저에서 아이피:3000 (ex. localhost:3000) 으로 접속하여 레드마인을 확인한다.
docker-compose 설정파일 예시
jenkins
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
restart: always
container_name: jenkins
environment:
TZ: 'Asia/Seoul'
ports:
- 9080:8080
Nginx
version: '3'
services:
nginx:
image: nginx
restart: always
container_name: nginx
environment:
TZ: 'Asia/Seoul'
ports:
- 8080:80
반응형
'개발 > docker' 카테고리의 다른 글
docker 파일 복사 전송 가져오기 (0) | 2022.08.22 |
---|---|
docker 컨테이너에 root로 접속하기 (0) | 2022.08.21 |
docker에서 mssql 설치 (0) | 2022.08.21 |
docker centos systemctl 문제 (0) | 2021.01.18 |
댓글