일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Java
- ubuntu
- jdbc
- Change port
- install
- maven
- 전송포맷
- not to accept jdbcUrl
- ADB
- gradle
- JavaScript
- javaascript
- pkgutil
- JAR
- svn backup
- mariadb
- docker
- 줄복사
- driverspy
- ^M바꾸기
- remove
- spring boot
- Jenkins
- key bindings
- install maven
- change file content
- local
- object
- duplicate lines
- spring
- Today
- Total
Simplify
Docker-compose 를 이용해 편하게 docker 쓰기 본문
Docker-compose 를 이용해 편하게 docker 쓰기
Simplify - Jonghun 2019. 6. 13. 14:47docker 명령어들은 복잡한 이미지를 얼마나 customizing 해서 환경변수등을 추가해서 사용하느냐에 따라 엄청나게 길어질 수 있습니다. 예를 들어 jenkins 같은 경우 기본적으로 아래 정도의 명령어를 이용해서 구동하게 됩니다.
$ sudo docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
아마도 이런 과정이 귀찮으니, 위 명령어를 shell 로 만들어서 두고 사용하게 될 것 같습니다만, docker 특성상 사용하게 되는 명령어들이 많아, sudo 를 매번 적는 게 여간 귀찮은 것이 아닙니다.
이러한 분편함을 해소해 주는 것이 docker-compose 입니다. docker-compose는 parameter 로 설정된 위 정보들을 모두 docker-compose.yml 이르는 파일에 적게 하고(일종의 설정 파일), 이를 이용해서 docker를 실행해 줍니다. 이를 위해서는 docker 이외에도 docker-compose를 설치해야 합니다.
필수사항
docker-compose 에는 다음의 필수사항이 있습니다.
- sudo 권한이 있는, root 가 아닌 사용자
- docker 설치
설치
1. current release 를 체크하고, 필요하다면 update 한다.
$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2. 아래 명령어로 권한 처리를 합니다.
$ sudo chmod +x /usr/local/bin/docker-compose
3. 버전 확인을 합니다.
$ docker-compose --version
결과로 아래와 같이 나오면 됩니다.
jonghiphop@simplify:~$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
jonghiphop@simplify:~$
사용
1. docker-compose.yml 파일 생성
내가 docker 를 실행하고자 하는 폴더에 docker-compose.yml 파일을 생성합니다. 여기서는 mariaDB 에 대한 docker-compose.yml 파일을 예로 들겠습니다.
version: '3.1'
services:
maria:
image: mariadb:latest
container_name: "mariadb"
restart: always
ports:
- "63306:3306"
volumes:
- ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro
- ~/docker/mariadb/var/lib/mysql:/var/lib/mysql
- ~/docker/mariadb/var/log/maria:/var/log/maria
environment:
- MYSQL_ROOT_PASSWORD=???
- TZ="Asia/Seoul"
2. 실행 및 재실행
실행하고자 하는 yml 파일이 있는 위치에서 아래 명령어를 입력합니다. 백그라운드에서 실행을 원하는 경우 -d 옵션을 추가합니다.
$ docker-compose up
$ docker-compose up -d
3. 확인
확인은 docker-compose 보다는 docker 자체 명령어로 하는 것이 직관적이라 그렇게 하고 있습니다.
$ docker ps -a
4. 중지 및 삭제
중지는 stop 파라미터를, 삭제는 rm 파라미터를 주가합니다. 여기서의 삭제는 당연히 image가 아니라 container 입니다. 역시 yml 파일이 있는 위치에서 아래 명령어를 입력합니다.
$ docker-compose stop
$ docker-compose rm
출처 : https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-16-04