반응형
출처 : subicura.com/2017/01/19/docker-guide-for-beginners-2.html
Container Update
지금까지 도커를 왜 사용하는지, 도커가 왜 좋은지, 그리고 도커의 사용방법에 대해서 알아보았습니다.
하지만 도커가 이미지에서 컨테이너를 만드는 방법이라면, 이미지에서 컨테이너를 만들때마다 Fresh한 컨테이너가 계속 생성될 텐데, 그 데이터는 어떡하나요?
이를 방지하기 위해 쌓아놨던 데이터는 AWS S3같은 스토리지에 저장하거나, 아님 호스트의 데이터 볼륨을 이용하여 저장하여야 합니다.
이를 위해 run 명령어에 -v 를 추가해서, 추가해줍니다.
# before
docker run -d -p 3306:3306 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--name mysql \
mysql:5.7
# after
docker run -d -p 3306:3306 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--name mysql \
-v /my/own/datadir:/var/lib/mysql \ # <- volume mount
mysql:5.7
Docker Compose
Docker Compose는 여러가지 설정값들을 yaml 파일 형식으로 저장해서 관리하는 툴입니다.
Docker for Mac이나 Docker for Windows를 설치했다면 자동으로 설치되고, 리눅스의 경우 다음을 사용하여 설치합니다.
curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# test
docker-compose version
그리고 docker-compose 파일을 작성합니다.
docker-compose파일의 문법은 다음에 알아보도록 하겠습니다.
version: '2'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wp_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
wp_data:
이후에 docker-compose up 을 실행합니다.
물론 나중에 설정공부를 더 해야겠지만, docker-compose로 손쉽게 설정저장을 할 수 있는 부분은
긍정적인 부분입니다.
반응형
'Cloud > Docker' 카테고리의 다른 글
Docker start and attach (0) | 2023.01.04 |
---|---|
Docker commit 하고, dockerhub에 push 하기 (0) | 2021.04.13 |
도커(docker) 기본 commands (0) | 2020.12.07 |
도커(docker) version, run으로 여러가지 컨테이너 실행하기 (0) | 2020.12.07 |
도커(docker) 설치하고 실행하기 (0) | 2020.12.04 |