728x90

docker 12

Docker - Dockerfile

목차 1. Dockerfile 2. Dockerfile 생성 및 실행 2.1 Dockerfile을 이용한 Web Server 생성 2.2 Dockerfile을 이용한 FTP Server 생성 2.3 Dockerfile을 이용한 DNS Server 생성 1. Dockerfile - Dockerfile은 컨테이너에 설치해야하는 패키지, 소스코드, 명령어, 환경변수 설정 등을 기록한 하나의 파일이다. - 빌드하면 자동으로 이미지가 생성된다. COMMAND Description COMMAND Description FROM 베이스이미지 지정 ADD 파일추가(외부파일 불러오기) MAINTAINER 작성자 지정 COPY 파일복사 : local디렉토리 RUN 명령어 실행 VOLUME 볼륨마운트 CMD 데몬실행 ENTR..

Programming/Docker 2022.06.03

Docker - NCloud에서 Script 파일을 이용한 Docker 설치 및 http 컨테이너 실행

목차 1. NCloud에서 Script 파일 생성 2. NCloud Server 생성 시 Script 파일 적용 3. 설정 확인 1. NCloud에서 Script 파일 생성 #! /bin/bash yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl start docker docker pull httpd docker pull nginx docker pull alpine docker pull centos:7 docker network create --s..

Programming/Docker 2022.06.02

Docker - PHP, MYSql 설치 및 실행

목차 1. 컨테이너 생성 2. PHP 설정 및 복사 2.1 php 파일 설정 2.2 httpd 설정 파일 2.3 php 파일 컨테이너로 복사 3. MYSQL 설치 및 설정 4. Port Forwarding 5. 설정 확인 * 구성 환경 1. 컨테이너 생성 - sysbee/http-php73은 http와 php를 한번에 설치하여 사용하는 이미지다. - sysbee/http-php73 컨테이너를 생성하고 해당 Web Server에서 사용할 DB Server 컨테이너 또한 생성한다. 2. PHP 설정 및 복사 2.1 php 파일 설정 - index.php 파일은 DB가 연결되었는지 확인할 수 있는 파일이다. - 해당 파일에 연결될 DB Server의 IP 주소, 사용자, 패스워드, DB, port, chars..

Programming/Docker 2022.06.01

Docker - Link ( + Scripts)

목차 1. Link 2. Link 설정 2.1 link 설정 2.2 컨테이너 명 변경 2.3 컨테이너 IP 변경 3. Script를 이용한 link 파일 생성 1. Link - 컨테이너가 통신하려면 IP를 알아야 한다. - link 옵션은 같은 호스트 내에 컨테이너 간 연결을 할 때 사용한다. - 컨테이너끼리는 private ip를 기반으로 통신한다. 그런데 컨테이너가 재시작되면 ip가 변경되는 경우도 있다. - link를 사용하게 되면 ip가 아닌 컨테이너 이름을 기반으로 통신 할 수 있다. 2. Link 설정 2.1 link 설정 - centos:7 이미지를 실행시켜 c1 컨테이너를 생성한다. - c1 컨테이너의 IP 주소는 172.17.0.2다 - centos:7 이미지를 또 한번 실행시켜 c2 컨..

Programming/Docker 2022.06.01

Docker - Image 생성

목차 1. Docker Image 1.1 commit 1.2 export, import 2. Commit 3. tar, load 4. export, import * 추가 정보 1. Docker Image - Docker에서 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일을 묶는 형태를 Docker Image라고 한다. 1.1 commit - commit으로 이미지를 생성하여 사용할 수 있고, 생성된 이미지들을 tar로 압축한 다음 load 해서 가져와서 사용할 수도 있다. 1.2 export, import - export로 컨테이너를 내보내고 import로 이미지를 가져와서 사용한다. - commit으로 이미지를 생성하고, 생성한 이미지들을 tar 파일로 압축해서 doc..

Programming/Docker 2022.05.31

Docker - Scripts

목차 1. 스크립트 2. Script 생성 1. 스크립트 - 스크립트란 컴퓨터가 목표한 바를 달성하기 위해 실행해야하는 명령어의 집합이다. ex) * script 파일 생성 - 스크립트 파일을 하나 생성한다. - 스크립트 파일의 이름은 a.sh이고 내용은 현재 디렉토리의 리스트와 사용자들을 출력하는 내용을 담는다. - 스크립트를 실행 시키면 해당 a.sh script 파일이 생성된 것을 볼 수 있다. - a.sh 파일 안에 내용도 생성된 것을 볼 수 있다. * 시나리오 1. 모든 작업을 스크립트로 처리합니다. 2. Docker 설치 및 실행 3. httpd 및 nginx, centos:9, alpine 이미지 다운로드 4. bridge network 생성 4.1 N1 192.168.11.0/24 192...

Programming/Docker 2022.05.31

Docker - HAProxy, Network, Port Forwarding

목차 1. 구성 및 시나리오 2. Network 설정 3. WEB 설정 4. HAProxy 5. Port Forwarding 6. 설정 확인 1. 구성 및 시나리오 2. Network 설정 - 192.168.101/102/103/104.0의 네트워크 4개를 새롭게 생성한다. - ip ad 명령어를 통해 네트워크 카드 및 네트워크가 정상적으로 생성되었는지 확인한다. - 새롭게 생성한 각 네트워크를 각 컨테이너에 적용시킨다. - 현재 2개의 nginx, 2개의 apache를 실행 시키고 4개의 컨테이너에 위에서 생성한 4개의 네트워크를 하나씩 부여한다. - 4개의 컨테이너 생성 및 프로세스가 동작되고 있음을 확인 할 수 있다. 3. WEB 설정 - 각 컨테이너에 적용 시킬 웹 페이지를 작성한다. - 각 웹 ..

Programming/Docker 2022.05.30

Docker - Network

목차 1. Docker Network 1.1 Bridge 1.2 Host 1.3 Container 2. Docker Network 생성 및 적용 2.1 컨테이너 생성시 네트워크 부여하기 2.2 네트워크 직접 설정하여 생성 1. Docker Network 1.1 Bridge - docker의 기본 network 방식은 bridge이다. - 컨테이너를 생성하게 되면, 각 컨테이너 마다 고유한 namespace 영역이 하나씩 생성되먀, 이때 docker0 bridge container의 인터페이스들이 하나씩 바인딩 된다. 1.2 Host - host 방식으로 컨테이너를 생성하면, 컨테이너가 독립적인 네트워크 영역을 갖지 않고 host와 네트워크를 함께 사용하게 된다. --net=host 옵션을 사용한다. 1...

Programming/Docker 2022.05.30

Docker - Copy, Volume

목차 1. docker cp 2. Volume 2.1 기본적인 volume 생성 후 공유하기 2.2 Bind 공유 2.3 Volum 삭제 1. docker cp - 컨테이너 -> 로컬 / 로컬 -> 컨테이너로 파일을 복사하기 위해 docker cp라는 명령어를 사용할 수 있다. * docker cp - c2의 이름을 가진 컨테이너 내부에 디렉토리 생성 및 파일을 생성한 다음 해당 파일을 로컬 Server에 파일을 복사 할 수 있다. - 하지만 컨테이너에서 컨테이너로 파일을 복사하는 것은 불가능하다. - 반대로 로컬 Server에 존재하는 파일을 Container로 옮길 수도 있다. - exec 명령어를 사용하면 컨테이너에 직접 들어가지 않고 명령어를 실행 할 수 있다. 2. Volume - Docker ..

Programming/Docker 2022.05.30
728x90