본문 바로가기

Docker/실습10

Ubuntu 에 Docker 설치 실행환경 Ubuntu 22.04 Docker 설치방법 1. 우분투 시스템 패키지 업데이트 sudo apt-get update 2. 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 3. Docker의 공식 GPG키를 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 4. Docker의 공식 apt 저장소를 추가 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(ls.. 2023. 4. 20.
[Docker-실습] 9.Container Network (요약) - 컨테이너 네트워크 사용하기 - 컨테이너 포트 외부로 노출하기 - User-Defined Network 구성하기 - 컨테이너 간 통신 wordpress, mysql 컨테이너 서비스 구축하기 1. 컨테이너 네트워크 사용하기 docker0 bridge Network ip addr brctl show docker run --name c1 -it busybox docker inspect c1 docker run --name c2 -it busy box docker inspect c2 - sandbox : c1의 container의 network 환경을 만들어준 것. - Endpoint : Veth, 컨테이너 안에 있는 네트워크 인터페이스. - IP, Gateway, Mac 정보 등을 확인 가능. do.. 2021. 11. 15.
[Docker-실습] 8.Container Storage [1. mysql db data 영구 보존] -v : $ docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql:latest -v $ docker run -d --name db2 -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql:latest (mysql container에 접속해서 database 생성 후, Host에 마운트된 Volume 에서 생성된 것 확인하기) $ docker exec -it db /bin/bash $ mysql -u root $ create database jaewon; $ show databases; mysql container의.. 2021. 10. 13.
[Docker-실습] 7.Container 리소스 관리 ※ stress container 생성 컨테이너 빌드 : 부하 테스트 프로그램 stress 를 설치하고 동작시키는 컨테이너 빌드 CPU 부하 테스트 : 2개 cpu core를 100% 사용하도록 부하 발생 : stress --cpu 2 메모리 부하 테스트 : 프로세스 2개와 사용할 메모리만큼 부하 발생 : stress --vm 2 --vm-bytes $vi dockerfile FROM debian MAINTAINER jwjeong RUN apt-get update; apt-get install stress -y CMD ["/bin/sh", "-c", "stress -c 2"] [Docker 컨테이너 메모리 리소스 제한] swap 메모리 용량 제한이 실제 메모리 제한과 어떤 관련성이 있는 지 확인 dock.. 2021. 9. 9.
[Docker-실습] 6.Container 운영 [컨테이너 운영 명령어 사용] (1) 이미지 검색 $ docker search nginx - Official 이미지를 사용하거나, 직접 만들어서 사용하자. (보안) (2) 도커 이미지 다운로드 $ docker pull nginx:1.14 $ docker pull mysql (3) 다운 받은 이미지 확인 $ docker images $ docker images --no-trunc : 이미지 명을 풀네임으로 출력하는 옵션 (4) 컨테이너 생성 docker create 명령어의 경우, 기본적으로 백그라운드로 실행 $ docker create --name websvt ningx:1.14 : latest 버전이 아닌 경우 태그 생략 안 됨. $ docker ps -a 해당 컨테이너를 RUN 하게 되면 COMMAN.. 2021. 8. 27.
[Docker-실습] 5.Container Registry 1. Public Repository(hub.docker.com) 에 컨테이너 업로드 및 다운로드 $ docker login ( /root/.docker/config.json. 에 login 정보 저장됨) (1) 이미지 검색 $ docker search [이미지명]:[태그] $ docker search httpd:latest : hub.docker.com 에서 컨테이너 이미지 검색. (2) 이미지 다운로드 $ docker pull [이미지명]:[태그] $ docker pull httpd:latest (3) 이미지 확인 $ docker images (4) docker hub에 Repository에 업로드 다운 받은 이미지의 개인 Repository에 Push하기 위해서는 이미지의 tag를 바꿔주어야 한다... 2021. 8. 23.
[Docker-실습] 4.Container 만들기(2) (목표) 주어진 script를 실행하는 컨테이너를 빌드하시오. - 컨테이너 이름 : fortune:20.02 - dockerfile의 내용 - base image: debian - 컨테이너에 아래의 webpage.sh 파일을 복사 webpage.sh #!/bin/bash mkdir /htdocs while : do /usr/games/fortune > /htdocs/index.html sleep 10 done - 컨테이너에 fortune 애플리케이션 설치 - 컨테이너 실행 시 저장한 webpage.sh가 실행되도록 구성 1. 디렉토리 생성 $ mkdir fortune $ cd fortune (2) script 파일 생성 $ vi webpage.sh webpage.sh #!/bin/bash mkdir /h.. 2021. 8. 11.
[Docker-실습] 3.Container 만들기 [vi dockerfile 생성 -> docker build(이미지만들기) -> docker run] 1. node.js 애플리케이션 컨테이너 만들기 : hello.js (Application을 운영해주는 컨테이너) (1) 디렉토리 생성 $ mkdir hellojs $ cd /hellojs (2) hello.js 파일 준비 $ vi hello.js hello.js $ cat > hello.js const http = require('http'); const os = require('os'); console.log("Test server starting..."); var handler = function(request, response) { console.log("Received request from ".. 2021. 8. 9.
[Docker-실습] 2.Docker 명령어 [Docker Status 확인] $ systemctl status docker $ docker version [Docker Hub에서 Container 이미지 검색] : 내가 원하는 container image가 hub에 존재하는 지 검색. (예시는 nginx 검색) $ docker search nginx [컨테이너 이미지 다운로드 후 Image Layer 보기] System에 Docker가 설치되면 /var/lib 아래 docker 디렉토리가 있다. overlay2에 Container Image Layer가 들어간다. (1) container image를 확인 $ docker images 혹은 $ docker image ls 를 입력한다. (2) container image 다운로드 (예시는 ngin.. 2021. 8. 2.
[Docker-실습] 1.Install Docker Engine on CentOS7 [Docker사이트 공식 설치 메뉴얼(리눅스)] - https://docs.docker.com/engine/install/ 1. OS 요구사항 - CentOS 7 or 8 Version 2. 이전 버전 제거 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ※ /var/lib/docker/이미지, 컨테이너, 볼륨 및 네트워크를 포함한 의 내용 은 보존됩니다. 3. 저장소 설정 새 호스트 시스템에 처음으로 Docker Engine을 설치하기 전에 Docker 저장소를 설정해야 합.. 2021. 7. 29.