분류 전체보기 1341

쿠버네티스 소개

오랜 세월 동안 구글은 보그(Borg)라는 내부 시스템을 개발 애플리케이션 개발자와 시스템 관리자가 수천 개의 애플리케이션과 서비스를 관리하는 데 도움 조직 규모가 클 때 엄청난 가치를 발휘 수십만 대의 시스템을 가동할 때 사용률이 조금만 향상돼도 수백만 달러의 비용 절감 효과 구글은 보그와 오메가를 15년 동안 비밀로 유지 2014년 구글 시스템을 통해 얻은 경험을 바탕으로 한 오픈소스 시스템인 '쿠버네티스'를 출시 인프라의 추상화 컨테이너 시스템에서 컨테이너 애플리케이션을 쉽게 배포, 관리하도록 돕는 소프트웨어 시스템 기본 인프라를 추상화해 개발 및 운영 팀의 개발, 배포, 관리를 단순화 모든 노드가 하나의 거대한 컴퓨터인 것처럼 수천개의 컴퓨터 노드에서 소프트웨어 애플리케이션을 실행 쿠버네티스 장점..

Private 레지스트리 서버 구현 및 사용 & 풀스택 워드프레스 컨테이너 이미지 만들기

private registry 만들기 docker run -d --name docker-registry -p 5000:5000 registry 브라우저를 켜서 127.0.0.1:5000/v2/ 서비스 접속 가능한지 확인 프라이베이트 레지스트리에 이미지 푸시하기 sudo docker tag echo_test 127.0.0.1:5000/echo_test sudo docker push 127.0.0.1:5000/echo_test 도커 API 관련 링크: https://docs.docker.com/registry/spec/api/ HTTP API V2 docs.docker.com 인증 관련 참고 링크: https://docs.docker.com/registry/configuration/#auth Configur..

도커 이미지 푸시와 히스토리 확인

도커 이미지 푸시 1. Docker Hub 회원가입 https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. hub.docker.com 2. 회원가입한 정보를 토대로 다음 내용을 작성한다. login을 하지 않으면 정상 동작하지 않는다. gasbugs라는 문자열은 사용하는 아이디로 바꿔서 실행해야만 한다. sudo docker login sudo docker t..

직접 도커 이미지 빌드하기

1. 도커 빌드할 프로그램 준비 python를 사용해 단순한 서비스를 시작 작성한다. 다음 파일을 작성하여 test_server.py로 저장한다. # test_server.py import socket with socket.socket() as s: s.bind(("0.0.0.0", 12345)) s.listen() print("server is started") conn, addr = s.accept() # conn 클라이언트와 통신할 소켓 # addr 클라이언트의 정보가 들어있음 with conn: print("Connected by", addr) while True: data = conn.recv(1024) if not data: break conn.sendall(data) Python 에코 서버 ..

볼륨 마운트하여 Jupyter LAB 서비스 구축

1. Jupyter NoteBook 설치하기 https://hub.docker.com/r/jupyter/datascience-notebook Docker Hub hub.docker.com 2. 볼륨 마운트 옵션 사용해 로컬 파일 공유하기 docker run -v :: # /tmp:home/user:ro 권한의 종류 ro : 읽기 전용 rw : 읽기 및 쓰기 nginx로 볼륨마운트하기 sudo docker run -d -p 80:80 --rm -v /var/www:/usr/share/nginx/html:ro nginx curl 127.0.0.1 echo 1234 > /var/www/index.html curl 127.0.0.1 3. 데이터 분석가를 위한 Jupyter LAB 환경 구축하기 현재 디렉토리를 ..

환경 변수 사용해 MySQL 서비스 구축하기

1. DockerHub에서 Mysql 검색 https://hub.docker.com/_/mysql Mysql - Official Image | Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy hub.docker.com 2. 환경 변수를 사용해 데이터 전달하기 docker run -d..

도커의 유용한 명령어

포트포워딩으로 톰캣 실행하기 sudo docker run -d --name tc -p 80:8080 tomcat #포트포워딩으로 톰캣 실행(-d : 백그라운드, -p 포트, --name : 이름) firefox 127.0.0.1:80 # 컨테이너 내부 셸 실행 sudo docker exec -it tc /bin/bash # 도커의 컨테이너를 접근 접속시 host가 컨테이너 ID 로 변경된다. 별도로 분리된 파일시스템을 사용할 수가 있다(debug, log 확인이 가능하다) 컨테이너 로그 확인 sudo docker logs tc # stdout, stderr #도커 로그 확인 Error나 Out 과 같이 출력과 관련된 로그만 확인 할 수 있다. 호스트 및 컨테이너 간 파일 복사 #현재 컨테이너에서다른 컨테..

이미지 비밀 : 레이어

왼쪽: 이미지 A를 지운다 하더라도 이미지 B에서 레이어 A, B, C를 사용하고 있기 때문에 지워지지 않음 이미지 A가 있는 경우 이미지 B를 다운로드하게 되면 레이어 D만 다운로드한다. 오른쪽: 이미 존재하는 레이어 A, B는 새로 다운로드할 필요가 없음 레이어 C만 다르기 때문에 C만 다운로드 도커 이미지 정보 확인 sudo docker pull nginx # 도커 이미지 가지고 오기 sudo docker inspect nginx # 도커 이미지 정보 상세확인 도커 이미지 저장소 위치 확인 sudo docker info sudo -i cd /var/lib/docker/overlay2 레이어 저장소 확인 root@server1-VirtualBox:/var/lib/docker/overlay2# ls 0..

도커 라이프 사이클 이해하기

레지스트리에서 PULL, PUSH를 통해 원하는 이미지를 다운로드, 입력할 수 있다. PUSH는 권한이 있어야만 가능 IMAGE는 반드시 Container가 되어야만 메모리에 올라간다. Run 명령어를 사용하면 Pull, Create, Start를 해준다(Pull이 되어 있다면 Create, Start 만 동작시켜준다) 삭제 명령어 Stop : 컨테이너에서 내려간다, Rm : 컨테이너에서 제거 RMI : 이미지를 제거 도커 라이프 사이클 명령어 실습 도커 이미지 다운로드와 삭제 sudo docker pull consol/tomcat-7.0 # 이미지 다운로드 sudo docker rmi consol/tomcat-7.0 # 이미지 삭제 도커 컨테이너 생성/실행 sudo docker run -d --name..

내가 원하는 이미지 찾기

Docker 레지스트리 도커 레지스트리에는 사용자가 사용할 수 있도록 데이터베이스를 통해 Image를 제공해주고 있음 누구나 이미지를 만들어 푸시할 수 있으며 푸시된 이미지는 다른 사람들에게 공유 가능 이미지는 실행시킬 수 없고, 컨테이너로 변경 후 실행해야 한다. dockerhub를 통해 검색하여 사용하면 된다(docker search 도 가능) https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's..