목록container (13)
클라우드 엔지니어 꿈나무
# docker pull mysql # docker insepct mysql mysql version 이 8.1.0 인 것을 볼 수 있음 # docker pull mysql:8.1.0 # docker images tag가 8.1.0 그리고 latest인 mysql 각각 존재하나 ID는 같은 것을 확인 할 수 있음 => 같은 이미지 # docker images --no-trunc => docker id를 풀네임으로 보여줌 # docker create --name webserver nginx:1.14 => latest 아니면 버전 기입 필수, create는 백그라운드로 실행(running은 아님) # docker start webserver # docker ps # docker inspect webserve..
1. nodejs 어플리케이션 컨테이너 만들기 : hellojs 2. 우분투 기반의 웹 서버 컨테이너 만들기 3. 만들어 놓은 컨테이너 배포하기 1. nodejs 어플리케이션 컨테이너 만들기 : hellojs $ vi hello.js const http = require('http'); #http 서비스 지원 const os = require('os'); #os 서비스 지원 console.log("Test server starting..."); #hello js 실행될 떄 로그메세지 출력값 var handler = function(request, response) { console.log("Received request from " + request.connection.remoteAddress); res..
docker file 쉽고, 간단, 명확한 구문을 가진 text file로 TOP DOWN 해석 컨테이너 이미지를 생성할 수 있는 고유의 지시어를 가짐 대소문자 구분하지 않으나 가독성을 위하여 사용함 DOCKER 문법 # : comment FROM : 컨테이너의 BASE IMAGE (운영 환경) MAINTAINER : 이미지를 생성한 사람의 이름 및 정보 LABEL : 컨테이너 이미지에 컨테이너의 정보를 저장 RUN : 컨테이너 빌드를 위해 base image에서 실행할 commands COPY : 컨테이너 빌드 시, 호스트의 파일을 컨테이너로 복사 ADD : 컨테이너 빌드 시, 호스트의 파일(tar, url 포함)을 컨테이너로 복사 WORKDIR : 컨테이너 빌드 시, 명령이 실행될 작업 디렉터리 설정..
/var/lib/docker/overlay2 => 컨테이너 이미지 레이어가 들어가는 곳 # root $ guru # cd /var/lib/docker/overlay2 # $ ls -l $ docker pull nginx # ls -l nginx 다운로드 후, 이미지 $ docker run --name web -d -p 80:80 nginx $ docker ps $ curl localhost:80 $ docker stop web $ docker rm web ( docker stop web + docker rm web f= docker rm -f web) $ docker rmi nginx
Docker 설치 방법 1. repository를 이용해서 설치 => 이걸로 설치 2. download 후 직접 설치 3. script를 이용한 설치 Ubuntu 내 Docker 설치 https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository 1. 요구하는 program 설치 sudo apt-get install ca-certificates curl gnupg 2. 도커가 가지고 있는 인증서 저장 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/ap..
Centos7 설치 값 GNOME 데스크탑 (GUI로 볼 수 있게 설정) 네트워크 & 호스트 이름 부분에서 이더넷 root (centos 는 root로 바로 로그인 가능) centos 를 데스크탑 버전으로 설치하면 기본으로 가상 머신 안에 하이퍼바이저 설치가 됨 => 하기와 같이 KVM(Kernel-based Virtual Machine) 중지 필요 # systemctl stop libvirtd # systemctl disable libvirtd 원격 조정 설 # vi /etc/hostname 하기와 같이 설정 (이미 설정되어 있음) # vi /etc/hosts 하기와 같이 설정 변경 # ping 8.8.8.8 # systemctl set-default multi-user.target => 텍스트 모드로..
Network 설치 나의 경우, 호스트 IP는 localhost로 지정해주기 위하여 공란으로 유지 Ubuntu 설치 값 guru # sudo passwd root => root 패스워드 설정 Ubuntu 는 기본적으로 root 로 로그인이 불가하기 떄문에 로그인이 가능할 수 있게 설정을 해야한다. # su - root => root로 로그인 (=su -) root # systemctl set-default multi-user.target => Ubuntu 는 GUI 부팅 지원하지만 HW 리소스 적게 쓰기 위하여 텍스트 모드로 변경 # apt-get update Ubuntu 는 apt로 설치하기 전에 update부터 해야 # apt-get install -y openssh-server curl vim tr..
1. centos7-1 haproxy 설치 2. ceonts7-1에 httpd 를 이용한 webserver container h1,h2 구성 출력은 KANG+DOCKER+HTTP+WEBSERVER 1 -> h1 (60080:80) 출력은 KANG+DOCKER+HTTP+WEBSERVER 2 -> h2 (60180:80) 3. centos7-1에 nginx 를 이용한 webserver container n1,n2 구성 출력은 KANG+DOCKER+NGINX+WEBSERVER 1 -> n1 (60280:80) 출력은 KANG+DOCKER+NGINX+WEBSERVER 2 -> n2 (60380:80) 4. Host PC(실제 PC에서) 브라우저 실행 후, 10.0.0.1 접속 그리고 새로고침 했을 때 위에 4개..
docker --link 기능이 더 이상 제공되지 않으므로 docker network 기능 사용 컨테이너는 IP를 동적(DHCP)를 사용하므로 매번 동일한 IP를 사용하지 않을 가능성 있음. 즉, 추후 다시 컨테이너를 실행한다면 다른 IP 주소 할당되어 접근을 못할 확률 다분. Network 는 컨테이너의 IP가 변경되어도 통신을 유지할 수 있게 하는 기능 docker network crate n1 => n1이라는 이름의 network 생성 docker network ls => network 조회 docker run -itd --name c1 --network n1 centos:7 docker run -itd --name c2 --network n1 centos:7 docker exec -it c2 pi..