반응형
ி docker-compose
- 대부분 시스템은 단일 애플리케이션으로 구동되지 않고 Frontend / Backend / DB / 검색엔진 등 여러 앱이 서로 유기적으로 구성
- 한 컨테이너가 하나의 앱을 담당하므로 여러 개의 컨테이너를 실행해야 하는 번거로움이 존재
- 도커 컴포즈는 여러 개의 컨테이너를 한 번에 관리 가능
- docker-compose.yml 혹은 docker-compose.yaml 파일로 작성
ி docker-compose 문법
version
services
image
# docker-compose.yml
services:
django: # [컨테이너명]:
image: ... # image : [이미지명]:[태그명]
postgres:
image: ....
- services 아래의 django는 컨테이너명, 즉, django는 하나의 컨테이너
- 컨테이너명 입력 후 사용할 이미지 이름과 태그(버전) 입력, 태그 생략 시 최신 버전 설치됨
- 이미지가 없으면 자동으로 도커 허브에서 이미지를 가져와 사용
build
# docker-compose.yml
services:
nginx:
build: .
# Dockerfile
FROM centos:7
- Dockerfile 경로를 지정
- Dockerfile을 이용해 자동으로 docker build 후 이미지로 사용 가능
docker-compose
docker-compose up -d # 도커 백그라운드 실행
docker-compose up --force-recreate # 도커 컨테이너 새로 생성
docker-compose up --build # 도커 이미지 빌드 후 컨테이너 실행
docker-compose build # 이미지를 빌드만 하고, 컨테이너를 시작하지 않음
docker-compose up # 이미지가 존재하지 않을 경우에만 빌드하며, 컨테이너를 시작
docker-compose down # 도커 컴포즈 중지
- 소스 수정이 이루어졌을 때 다시 이미지를 빌드해야 하므로 --build 옵션 사용을 권함
networks
$ docker network ls
bridge 네트워크 어댑터
한 호스트 컴퓨터 내에서 여러 컨테이너를 서로 연결
host 네트워크 어댑터
호스트 컴퓨터와 동일한 네트워크에서 컨테이너를 구동
도커의 bridege 네트워크 주소가 기존에 사용하고 있는 사설 주소와 충돌이 발생할 경우
아래 설정 예시를 참고하여 IP를 변경
# docker-compose.yml
networks:
default:
ipam:
driver: default
config:
- subnet: 172.27.3.0/24
ி 워드프레스 블로그 설치
## mkdir my_wordpress
## cd my_wordpress/
# docker-compose.yml
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
- depends_on(의존성) - 특정 이미지 실행이 완료된 후 그 다음 이미지 실행,
db를 먼저 실행하도록 wordpress 컨테이너의 depends_on을 db로 설정
ி github 활용
필요한 환경을 구축할 수 있다.
$ git clone https://github.com/jdh5202/Docker.git
$ cd ap-web # 서버 선택
$ ./start_service.sh # 환경 설치 및 실행
$ docker ps # 서버 실행 확인
$ cd ap-web # 서버 선택
$ ./start_service.sh # 환경 설치 및 실행
$ docker ps # 서버 실행 확인
localhost:8080 접속
반응형
'OS-서버 > 윈도우' 카테고리의 다른 글
도커 명령어 (0) | 2021.04.13 |
---|---|
도커 Node.js 이미지 빌드 (0) | 2021.04.13 |
WSL2 도커 설치 및 환경 설정 (0) | 2021.04.13 |
윈도우 액티브 디렉터리(Active Directory) (0) | 2020.05.12 |
WPI로 XE 홈페이지 만들기 (0) | 2020.05.11 |