도커 컴포즈를 이용해 컨테이너 관리 1. 도커 컴포즈를 이용해 컨테이너 관리 - 도커 컴포즈는 yaml 포맷으로 작성되며 여러 개의 컨테이너의 실행을 한 번에 관리를 할 수 있게 해 줌 - docker compose documentation - docker compose 버전 정보 - docker-compose.yaml 파일 생성 : vim docker-compose.yaml] version: "3.8" services: web: image: "nginx" ports: - 8080:8080 volumes: - /home/user1/work/nginx/conf:/etc/nginx/conf.d - /home/user1/work/nginx/html:/web/site1/public fpm: image: "bit..
mariadb 컨테이너 실행 1. mariadb 컨테이너 실행 - #1. 이미지 다운로드 : docker pull mariadb - #2. 컨테이너 실행 - docker run -d --name db -p 3307:3306 --env MARIADB_ROOT_PASSWORD=1234 --rm mariadb:latest ※ MARIADB_ROOT_PASSWORD는 컨테이너 내부에서 사용할 mysql root 계정의 비밀번호 - #3. DB 생성을 위한 컨테이너 내부 진입 : docker exec -it db bash - #4. mysql 보안 설정 : /usr/bin/mariadb-secure-installation - 첫 번째 : 위에서 설정한 root 비밀번호 - 두, 세 번째 : n - 나머지 : y ..
컨테이너의 네트워크 통신 1. 컨테이너의 네트워크 통신 - 컨테이너로 네트워크 통신하는 방법은 여러 방법이 존재 - 컨테이너 → 외부 - 컨테이너 → 내부 - 컨테이너 → 호스트PC(본인의 Centos7) - 컨테이너 → 컨테이너 2. Case1. 컨테이너 → 외부 - wget으로 통신 (컨테이너가 켜져 있으면 종료(docker stop app1)) - #1. 컨테이너 실행 : docker run --name=app1 -d -p 8031:8099 --rm -v /home/user1/work/html:/web/site1/public -v /home/user1/work/conf/nginx:/etc/nginx nginx - #2. 컨테이너의 내부 쉘에 접속 : docker exec -it app1 bash -..
컨테이너의 nginx 설정과 root 폴더 관리하기 1. 컨테이너의 nginx 설정과 root 폴더 관리하기 - #1. 설정 파일용 작업 폴더 생성 : mkdir -p /home/user1/work/conf/nginx - #2. 기존의 nginx 설정 폴더를 작업폴더로 복사 : cp -r /etc/nginx/ /home/user1/work/conf/ - #3. 가상호스팅 설정 세팅 (참고자료) : vim /home/user1/work/conf/nginx/conf.d/vhost.conf listen 8099; server_name project1; location / { root /web/site1/public; index index.html; } - #4. root 디렉터리용 작업 폴더 생성 : mkdi..
도커 마운트 볼륨 1. 마운트 볼륨 - 호스트 PC 특정 폴더와 컨테이너 특정 폴더를 동기화 - 컨테이너의 파일이 호스트를 덮어쓰면 호스트에 문제가 생길 수 있으므로 호스트의 파일을 컨테이너로 덮어 씀 2. 마운트 볼륨 사용하기 - 작업 폴더 생성 - mkdir -p /home/user1/work/html - 작업 폴더와 컨테이너 nginx의 root폴더(/usr/share/nginx/html)를 마운트 볼륨 설정 - docker run --name=app1 -d -p 8031:80 --rm -v /home/user1/work/html:/usr/share/nginx/html nginx - 브라우저로 확인 (페이지가 뜨지 않음) → 이유는 작업 폴더의 내용으로 컨테이너의 폴더를 덮어 쓰는데 작업 폴더가 비..
도커 볼륨 1. 도커 볼륨 (Docker Volume) - 도커 이미지로 컨테이너 생성 시, 읽기 전용으로 이미지가 생성됨 - 이렇게 되면, 컨테이너를 삭제 시, 데이터도 같이 날라가게 됨 - 이러한 문제점을 막기 위해 볼륨을 이용 ※ 볼륨(Volume) : 컨테이너의 데이터 유지 한계를 극복하기 위해 로컬 PC에 컨테이너의 파일을 저장하는 공간 - 이를 통해, 데이터를 보관하고 컨테이너간 파일 공유가 자유로움 2. 볼륨의 유형 - 1) 익명 볼륨 - 로컬 PC 어딘가에 저장 - 컨테이너 종료와 함께 사라짐 - 추후, 볼륨 병합 때 사용 - 2) 네임드 볼륨 - 로컬 PC 어딘가에 저장 - 이름이 지정되어 따로 삭제하지 않으면, 유지됨 - 추후, 다른 컨테이너에 붙일 수 있음 3. 익명 볼륨 사용하기 -..