복습 -> 클러스터 환경 구성 -> 간단한 평가
- 추상화된 자원을 묶음(cpu, ram, disk 등)
- type1 Baremetal
리눅스 안에 커널이 있고 커널안에 kvm을 설치, 물리 자원 위에 직접 설치한다.
- type2 host based Hypervisor
자원 위에 os가 있고 os 위에 하이퍼바이저가 있다.
- docker container run
컨테이너를 생성하고 시작할 수 있다.- docker container create
컨테이너 생성- docker container start
컨테이너 시작
- docker container run -it --name yang contos:7 /bin/bash
centos:7 --> 로컬 저장소 -it --> -t 는 ssh 와 같은 컨테이너와의 연결 통로를 만들어준다. --> -i 는 물어보고 답하는 대화형 옵션을 부여하는 것이다. 이를 통해 /bin/bash 명령어를 전달한다. -d --> 백그라운드 실행 (일반적으로 compose에서의 서비스는 -d가 가능한 이미지어야 한다.) --name --> 이름을 부여한다. /bin/bash --> 전달할 명령 (/bin/bash 로 이동하여 shell 을 실행시킨다) 이미지는 정적 파일이다.
- Web - Was - DB
Version:
Service:--> 컨테이너의 묶음 --> 하위에 컨테이너를 작성한다. web: was: db:
nerworks:
volumes:
이미지 웹 서비스 경로 httpd /use/local/apache2/htdocs nginx /usr/share/nginx/html centos+httpd /var/www/html ubuntu+nginx /var/www/html ubuntu+apache2(httpd) /var/www/html
- public registry
-> yang/mylab:1.0 -> push (인증정보확인) 로그인 docker login- private registry
-> 10.10.10.10:5000/myweb:1.0 -> push (인증정보확인) 로그인 docker login https://10.10.10.10- local registry
-> mylab:1.0 [repository name]:[tag]
rapa@rapa:~/0823$ vi test1/Dockerfile FROM ubuntu:18.04 RUN apt update RUN apt -y install apache2 ADD index.html /var/www/html EXPOSE 80 8080 CMD apache2ctl -D FOREGROUND
- index.html 생성
rapa@rapa:~/0823/test1$ echo "hello" > index.html
- 이미지 생성
rapa@rapa:~/0823/test1$ docker build -t myweb:1.0 .
- 컨테이너 생성
rapa@rapa:~/0823/test1$ docker container run -d -p 8008:80 --name myweb01 myweb:1.0
rapa@rapa:~/0823/test1$ cd ../test2
rapa@rapa:~/0823/test2$ vi docker-compose.yml version: '3.8' services: wordpress: image: wordpress networks: - testnetwork1 volumes: - /home/rapa/0823/test2/html:/var/www/html # MOUNT USING NFS ports: - "8881-8882:80" links: - db:mysql depends_on: - db environment: - WORDPRESS_DB_PASSWORD=test123 - WORDPRESS_DB_USER=root - WORDPRESS_DB_NAME=testdb db: image: mysql:5.7 networks: - testnetwork1 volumes: - testvolume1:/var/lib/mysql # VOLUME USING ISCSI environment: - MYSQL_ROOT_PASSWORD=test123 - MYSQL_DATABASE=testdb networks: testnetwork1: external: true volumes: testvolume1 : external: true
- network 생성
rapa@rapa:~/0823/test2$ docker network create testnetwork1
- volume 생성
rapa@rapa:~/0823/test2$ docker volume create testvolume1
- 컨테이너 생성
docker-compose up --scale wordpress=2 --scale db=2 -d
- 모든 중인 컨테이너 확인
docker-compose ps
- 컨테이너 리스트
rapa@rapa:~/0823/test2$ docker container ls
- 컨테이너 모두 삭제
rapa@rapa:~/0823/test2$ docker rm -f $(docker ps -aq)
- 네트워크 리스트
rapa@manager:~$ docker network ls
- 네트워크 삭제
rapa@manager:~$ docker network rm ID
- 볼륨 리스트
rapa@rapa:~/0823/test2$ docker volume ls
- 볼륨 모두 삭제
rapa@rapa:~/0823/test2$ docker volume prume