개발/Docker

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

잇(IT) 2022. 6. 2. 14:16
728x90

목차
1. NCloud에서 Script 파일 생성
2. NCloud Server 생성 시 Script 파일 적용
3. 설정 확인


1. NCloud에서 Script 파일 생성

 

ncloud에서 script 파일 생성
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 --subnet 192.168.11.0/24 --gateway 192.168.11.254 N1
docker network create --subnet 192.168.12.0/24 --gateway 192.168.12.254 N2

cat > index.html << EOF
<html>
<body>
<h1>Container-WEBSERVER-1</h1>
</body>
</html>
EOF
cat > index1.html << EOF
<html>
<body>
<h1>Container-WEBSERVER-2</h1>
</body>
</html>
EOF

docker run -itd --net N1 --name h1 httpd
docker cp index.html h1:/usr/local/apache2/htdocs/index.html
docker run -itd --net N2 --name n1 nginx
docker cp index1.html n1:/usr/share/nginx/html/index.html
curl 192.168.11.1
curl 192.168.12.1

yum install -y haproxy
sed -i 's/5000/80/g' /etc/haproxy/haproxy.cfg
sed -i 's/127.0.0.1:5001/192.168.11.1:80/g' /etc/haproxy/haproxy.cfg
sed -i 's/127.0.0.1:5002/192.168.12.1:80/g' /etc/haproxy/haproxy.cfg

systemctl restart haproxy
firewall-cmd --add-port=80/tcp

- NCloud 서버 생성 이전에 NCloud 서버 생성 시 실행 시킬 Script 파일을 생성한다.

 

* Script 파일의 내용

- Docker 설치 및 실행

- Web Server httpd, nginx 컨테이너 생성

- haproxy를 통한 Web Server 부하 분산

 

- Script 파일 생성이 완료된 모습이다.


2. NCloud Server 생성 시 Script 파일 적용

 

server 생성 중 script 파일 선택

- 미리 만들어 놓은 docker-httpd라는 script 파일을 선택한다.

 

공인 IP 할당
공인 IP 적용

- 원격 접속 프로그램을 통해 NCloud에서 생성한 Server에 접속한다.


3. 설정 확인

 

haproxy 설정 파일 확인
컨테이너 프로세스 확인
docker network 항목 확인
web server 1
web server 2

- NCloud 서버 생성 후 원격 프로그램을 통해 해당 서버에 접속하게 되면 아무런 작업을 하지 않아도 Script 파일이 서버 생성 시 자동으로 실행되어 위와 같이 패키지 생성 컨테이너 실행 등 모든 작업이 동작되어 있는 것을 확인 할 수 있다.

728x90

'개발 > Docker' 카테고리의 다른 글

Docker - Dockerfile  (0) 2022.06.03
Docker - Word Press + MYSql  (0) 2022.06.02
Docker - PHP, MYSql 설치 및 실행  (0) 2022.06.01
Docker - Link ( + Scripts)  (0) 2022.06.01
Docker - Image 생성  (0) 2022.05.31