CentOS Docker 꿀팁 - Portainer 이미지 템플릿 사용하기
CentOS Docker 꿀팁 - Portainer 이미지 템플릿 사용하기
도커 관리를 쉽게하는 꿀팁
앞서 "CentOS Docker 꿀팁 - Portainer 설치(Docker GUI)하기" 에서 도커를 관리하기 위한 Portainer를 설치하였습니다.
couplewith.tistory.com/entry/CentOS-Docker-%EA%BF%80%ED%8C%81-Portainer-%EC%84%A4%EC%B9%98Docker-GUI%ED%95%98%EA%B8%B0
Portainer를 이용하여 도커 이미지를 생성하는 방법은 "Container" 메뉴에서 직접 생성하는 방법과 "App Template"를 이용한 방법이 있습니다.
두가지 방법중에서 "App Template"를 이용하는 방법이 조금 더 용이할 듯합니다. 이 경우는 템플릿을 조금 수정하여 사용하면 다수의 같은 유형의 도커 이미지를 반복 생성해야 하는 경우에 편리한 방법이 될 것입니다.
1. App Template 으로 도커 이미지 생성하기
1.1 App Template 목록
App Template 메뉴를 보면 아래와 같이 웹서버 부터 DB까지 다양한 도커 이미지 템플릿을 제공합니다.
저는 아래 "MariaDB" 를 조금 수정하여 "MariaDB-cdr" 이라는 템플릿을 만들어 사용해 봤습니다.
1.2 App Template 수정하여 사용하기
먼저 "Mariadb" 템플릿에서 "Update" 버튼을 통해서 수정 화면으로 들어 갑니다.
1.2.1 템플릿의 Title 제목을 수정합니다.
1.2.2 컨테이너 관련 정보를 확인하고 수정합니다.
1) 도커 이미지 저장소는 mariadb:latest라는 태그를 확인 했습니다. 별도 이미지를 지정하고자 하는경우 "mariadb:10.3" 와 같이 특정 버전을 지정하여 바꿀수도 있습니다. 초기값으로 "latest"로 사용하면 가장 최신의 도커 버전의 이미지를 가지고 이미지를 생성하게 됩니다.
2) 그리고 host: 3006 --> container 3306 으로 expost할 포트를 적습니다.
3) 다음은 호스트 서버의 로컬 스토리지에 도커에 필요한 환경 파일이나 데이터를 저장하여 관리하고자 하는 경우 아래와 같이 설정하면 관리가 쉬워 집니다
주로 mysql의 디폴트 환경 파일인 "/etc/my.cnf"를 호스트 서버의 "/data/data/docker_env/mariadb/my.cnf" 파일로 연결하면 호스트에서 환경 파일을 수정하거나 여러대의 서버마다 다른 파일을 쉽게 관리 할수가 있습니다.
또 Mysql의 데이터 파일이 저장되는 "/var/lib/mysql" 을 호스트의 /data/data/docker_env/mariadb/mydata" 로 연결 함으로써 호스트 영역의 특정 스토리지 공간에 데이터를 저장하여 관리할 수 있도록 할 수 있습니다.
1.2.3 mysql 기동을 위한 패스워드 정보 설정하기
mysql 이 기동하기 위해 필요한 루트 패스워드를 아래와 같이 "Select"를 선택하고 "MYSQL_ROOT_PASSWORD"를 목록에 입력하여 두고 이미지 생성시 루트 패스워드를 변경하여 사용 가능합니다. 저는 "MYSQL_ROOT_PASSWORD" 와 "MYSQL_ROOT_PASSWORD2" 두가지를 입력하여 두었습니다.
1.2.4 템플릿 저장하기
맨 하단의 "Update Template" 버튼을 으로 수정된 내용을 저장합니다. 이것으로 템플릿 수정은 완료 되었고 템플릿을 이용하여 이미지를 생성하면 됩니다.
2. App Template 을 이용하여 이미지 생성하기
2.1 템플릿 선택 하기
템플릿이 수정 되었으므로 이제는 템플릿을 선택하여 이미지를 생성하면 됩니다. 아래 로고를 클릭하면 이미지 생성 화면으로 이동을 하게 됩니다.
2.2 템플릿 선택하여 이미지 생성하기
아래와 같이 적당한 이미지의 이름을 적습니다. 저는 "mariadb_t1"이 이미 있어서 이번에는 "mariadb_t2"라고 입력 하였습니다.
그리고 "dbroot"에는 드롭다운 메뉴로 이전에 템플릿에서 저장한 변수목록이 나옵니다. 설정한 값은 같지만 이번에는 저는 MYSQL_ROOT_PASSWORD2 를 이용하도록 설정해 보았습니다.
그리고 아래 "Deploy the Container"를 실행하면 도커 이미지가 생성 될 것입니다.
2.3 도커 이미지 생성 확인 하기
컨테이너 목록에는 아래와 같이 "mariadb_t2"가 생성 된것을 알 수 있습니다.
2.4 도커 이미지 생성 변수 수정하기
템플릿으로 이미지를 생성할때 "Show advanced options"을 누르면 템플릿에서 정의한 변수 들을 다시 볼수 있습니다. 이 값들을 수정하면 좀더 쉽게 이미지를 생성 할 수 있습니다.
이상과 같이 도커 이미지를 쉽게 만들수 있는 예를 보았습니다. 도커 커멘드를 잘 몰라도 이미지를 생성하고 관리하는데 Portainer를 이용하면 쉽게 할 수 있을 것 같습니다.
* Docker 관리 - Portainer 설치 완벽 따라하기(Docker GUI)
https://couplewith.tistory.com/m/185