일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 중식
- 자전거
- 유산소
- Shell
- DSEC
- Kubernetes
- 하체
- 힐링
- 대구
- Python
- 10km
- 한강
- 건대입구역
- 정보처리기사
- GitHub
- 대전
- Podman
- docker
- 소모임
- Grafana
- 성수대교
- zabbix
- 러닝
- 뚝섬유원지
- 오답노트
- Linux
- Run The Bridge
- 달리기
- 2021
- 맛집
- Today
- Total
목록Cloud/docker (9)
Run The Bridge
학교에서 하는 Docker 교육 Toyproject을 받았다. 익숙한 언어인 python과 웹을 띄우기 위한 Flask, 데이터를 담기위한 DB를 이용하여 아래의 아키텍처를 완성해야 한다. 0. Dockerfile을 이용하여 DB 먼저 구축하기 나는 DB를 'Mariadb:10.6.3ver'을 사용하였다. Dockerfile의 내용은 다음과같다. # vim Dcokerfile_mariaDB_01 FROM mariadb:10.6.3 # mariadb 버전선택 ENV MYSQL_ROOT_PASSWORD=root # root pw 설정 ENV MYSQL_DATABASE=flask01_db # 생성할 DB 이름 설정 ENV MYSQL_USER=flask01 # user 생성 ENV MYSQL_PASSWORD=f..
0. 도커 컴포즈 여러 컨테이너가 하나의 애플리케이션을 구성할 때 컨테이너 각각을 제어하는 것은 불편하다 -> 통합 관리 필요 웹 애플리케이션 컨테이너 옵션, 환경설정 + 데이터베이스 컨테이너 옵션, 환경설정 = 프로젝트 단위 관리 docker run --name mysql -d alicek106/composetest:mysql mysqld docker run -d -p 80:80 --link mysql:db --name web alicek106/composetest:web apachectl -DFOREGROUND http://192.168.245.11/login.php # 브라우저로 접속 (실습.0) 도커 컴포즈 설치 # swarm-manager 노드에만 설치하면 됨 curl -L https://git..
지난번에 사용한 python과 mysql 연동할 때 쓴 mysqld.cnf 파일을 가져와야 한다. [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost #bind-address = 127.0.0.1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 port = 3000 secret은 다..
0. 도커 스웜 하나의 도커 호스트를 사용하다가 CPU나 메모리, 디스크과 같은 자원이 부족하면? 하나의 도커 호스트가 문제가 발생하여 서비스를 할 수 없다면? 이러한 문제를 방지하기 위해 호스트를 병렬로 증설하여 클러스터로 구성 서버 여러 대를 하나의 자원 풀로 만들어 관리 컨테이너가 추가됐을 때 자동으로 발견(Service Discovery) 어떤 서버에 컨테이너를 할당할지 클러스터 내 서버가 다운됐을 때 고가용성(HA: High Availability) 스웜 클래식 도커 1.6 이후부터 사용 가능 여러 대의 도커 서버를 하나의 지점에서 사용하도록 단일 접근점 제공하는 것에 초점 분산 코디네이터, 에이전트 등이 별도로 구동 0스웜 모드 도커 1.12 이후부터 사용 가능 마이크로서비스 아키텍처의 컨테이..
1. python3 이미지를 사용한다. - mysql 접속 주소는 mysql:3000와 같이 컨테이너 이름으로 접속 - mysql 연동을 위해서는 pymysql 모듈이 설치되어야 한다. - app.py를 작성 mysql에 접속 및 sql결과를 가져오는 기능 2. app.py와 연동할 mysql 이미지 생성 - mysql:5.7 이미지를 이용하여 서비스 포트를 기본 포트 3306번에서 3000번으로 변경 → mysql 환경설정 파일을 수정하여 근본적으로 포트를 변경 - mysql password는 이미지 실행 시점 말고 생성시점에 결정 - mysql에 입력한 데이터는 컨테이너를 재시작해도 지워지지 않아야 함(도커 볼륨 사용할 것) Mysql mysql 관련 설정 # docker images | grep m..
0. ONBUILD - 특정 명령어를 빌드 시점에만 실행되도록 지정 # mkdir onbuild && cd onbuild # docker build -t onbuild_test:0.0 . # docker run onbild_test:0.0 ls / # Dockerfile FROM ubuntu:14.04 RUN echo "this is onbuild test!" ONBUILD RUN echo "onbuild!" >> /onbuild_file image를 가지고 다음에 빌드를 하면 /onbuild_file이 생성된다. 새로운 Dockerfile2를 생성한다. # docker build -t onbuild_test:0.1 -f ./Dockerfile2 . # docker run -it onbuild_test:..
0. Dockerfile, 이미지를 생성하는 방법 k8s로 가면 docker로 image를 올리지 않는다. 1. 컨테이너로 이미지를 생성하는 방법 - 아무것도 존재하지 않는 이미지(Ubuntu, CentOS, 등)로 컨테이너 생성 - application을 위한 환경을 설치하고 소스코드 등을 복사해 잘 동작하는 것을 확인 - 컨테이너를 이미지로 commit ※ 단점 - application package 설치와 source code 복사 등을 일일이 수작업으로 진행 - 개발 과정을 단순화, 자동화시키기 위해선 이 과정을 자동화할 필요가 있음 2. Dockerfile로 이미지를 생성하는 방법 - 컨테이너에 설치해야 하는 패키지, 소스코드 추가, 실행 명령어 및 쉘 스크립트 등을 하나의 파일로 기록하여 컨테..
0. docker pull 이 되지 않는 경우 실습할 때, anonmyous로 사용하면 공인 IP를 기준으로 counting 하고, login을 하면 계정 사용자 기준으로 pull을 Counting 한다. (2021. 07. 19. 월) # yum install -y epel-release # yum install -y jq * 로그인 하지 않았을 때 -anonymous 사용자 # TOKEN_ANONY=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token) * 로그인했을 때 - 각자 계정(username:passwd 부분에 docker h..