[Docker] scratch 이미지 경량화
·
OS/Docker
이번에는 scratch를 이용해서 애플리케이션을 최대한 경량화된 상태로 도커 이미지를 만들어 보는 실습을 통해 scratch에 대한 이해를 하고자 한다. 먼저 scratch를 통해 애플리케이션 이미지 생성을 위한 실행파일 생성, c 컴파일러 gcc를 설치하고자 한다. ubuntu@docker:~/ch11$ mkdir lightweight2 && cd $_ubuntu@docker:~/ch11/lightweight2$ sudo apt install -y gcc# C 프로그램으로 정적 바이너리 생성(실행시 go to lightweight image! 메시지 출력)ubuntu@docker:~/ch11/lightweight2$ vim go-to-lightweight-image.c#include int main()..
[Docker] Dokerfile 빌드 (개발 & 배포 과정)
·
OS/Docker
⭐️ Table of Contents1. 디렉토리 생성 및 이동2. html 파일 생성3. Dockerfile 생성4. Docker 이미지 빌드5. 로컬 이미지 확인6. Docker 컨테이너 실행7. 컨테이너의 웹 서버 확인ADDDocker Hub 로그인이미지 태그 지정이미지 푸시# 디렉토리 생성 및 이동ubuntu@docker:~$ mkdir -p ch11/sample && cd $_ ubuntu@docker:~/ch11/sample$ vim index.html ch11/sample 디렉토리를 생성하고 해당 디렉토리로 접근 $_로 마지막으로 실행한 명령어의 결과로 이동하였다.  # html 파일 생성 Docker Container Web Application. Great Works..
[Linux] 웹 서버 구축 - 방화벽(설정)
·
OS/Linux
⭐️ Table of ContentsTech 1. 웹 서버 구축Tech 7. 서버 방화벽 설정Tech 8. 웹 페이지 만들어 올려보기방화벽 설정[root@web1 ~]# firewall-cmd --add-port=80/tcp >> 일시적success[root@web1 ~]# firewall-cmd --add-port=80/tcp --permanent >>영구적success#firewall-cmd --add-port=3306/tcp#firewall-cmd --add-port=3306/tcp --permanent  방화벽 설정 확인[root@web1 ~]#firewall-cmd --list-all  포트 상태 확인[root@web1 ~]# netstat -nltp | grep httptcp6 0 ..
[Linux] 웹 서버 구축 - 서비스(시작 및 확인)
·
OS/Linux
이전 포스팅에서는 웹 서버에 필요한 패키지를 설치해봤다. 설치하는 과정에서 필요한 패키지 버전을 확인하고 설치한 후, 패키지에 대한 설정을 하는 방법과 확인하는 방법을 알아볼 수 있었다. ⭐️ Table of ContentsTech 1. 웹 서버 구축Tech 5. 서비스 시작(실행)하기 Tech 6. 서비스 상태 확인하기  서비스 시작[root@web1 ~]# systemctl restart httpd[root@web1 ~]# systemctl restart mariadb  서비스가 실행되었는지 현재 상태확인 [root@web1 ~]# systemctl status httpd[root@web1 ~]# systemctl status mariadb  🫸🏻 만약 해당 서버에서 계속 동작시키고자 할 때, 시..
[Linux] 웹 서버 구축 - 패키지(찾기, 확인, 설치)
·
OS/Linux
⭐️ Table of ContentsTech 1. 웹 서버 구축Tech 2. 패키지 찾기Tech 3. 패키지 확인Tech 4. 패키지 설치 [root@web1 ~]#yum info apache [root@web1 ~]#yum info httpd[root@web1 ~]#yum info apache[root@web1 ~]#yum info mariadb이름을 똑같이 안해줘서 그렇다. 아마 다른 패키지들도 한번 확인해 봐야할 것 같다.    패키지 버전을 확인해줬으니, 패키지 설치를 진행한다.(한꺼번에 설치한다.)  [root@web1 ~]# yum install -y httpd php mariadb-server php-mysqlnd 설치가 완료된 걸 볼 수 있다. 여기서 Dependency Installed는..
[Docker] Nginx Container reverse proxy
·
OS/Docker
먼저 이전 시간에 nginx를 구성하고 컨테이너에 뿌려주는 방식으로 진행했었다. 다음 과정을 진행하기 위해서는 nginx를 삭제해줘야한다. 왜냐하면 80번 포트를 물고 있기 때문이다.ubuntu@docker:~$ sudo systemctl stop nginx.serviceubuntu@docker:~$ sudo apt autoremove -y nginxubuntu@docker:~$ sudo netstat -nlp | grep 80Container reverse proxy  이 그림을 보면 Nginx 리버스 프록시가 로드 밸런싱을 통해 클라이언트의 요청을 여러 컨테이너로 분배를 하는 구조로 되어 있다. weight 설정 때문에 Nginx가 각 서버로 트래픽을 분배하는 것을 볼 수 있다. 하지만 트래픽 분배가..