1. 도커 설치하기
도커란,
컨테이너 응용프로그램의 배포를 자동화하는 오픈 소스 엔진이다.
우선 sudo apt-get install 을 통해 서버에 모든 패키지를 최신버전으로 업데이트 해준다.
이후 아래 명령어를 통해 도커 설치 전에 필요한 기본 패키지들을 설치한다.
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
이 과정에서 오류가 꽤나 발생해 lock되어 있던 파일들을 삭제하고 dpkg도 다시 설치했다.
위의 명령어서 나온 기본 패키지들을 정리하면 아래와 같다
apt-transport-https : https 프로토콜을 통해 repository에 접근 지원 패키지
ca-certificates : CA에서 발행되는 디지털 서명, SSL 인증서 기반의 인증 지원 패키지
cURL : 다양한 통신 프로토콜을 통해 서버와 데이터 송수신을 지원하는 명령어 도구
gnupg : 데이터를 암호화하고 전자 서명을 만들 수 있는 암호화/복호화 도구(GPG라고도 함)
lsb-release : 리눅스 배포판 식별 및 버전 확인하기 위한 도구
이제 도커 저장소에 접근하기 위해 GPG로 서명된 도커 공식 key를 추가해준다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
'x86_64', 'amd64' CPU 아키텍처 서버를 지원하는 Docker 저장소를 추가한다.
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
마지막으로 도커 설치 단계를 밟으면 된다.
sudo apt-get update
를 해주고
sudo apt-get install docker-ce docker-ce-cli containerd.io
위의 명령어를 통해 총 세 개의 패키지를 설치해 준다.
(만약 오류가 난다면 각각 따로 설치해 주기!!)
패키지에 대한 설명을 적어보자면
docker-ce : 컨테이너 런타임 환경을 제공하는 도커 엔진
docker-ce-cli : 도커 엔진을 지원하는 커멘드 라인 툴
containerd.io : 로컬 시스템의 컨테이너 입출력을 위한 데몬
도커 버전 확인을 통해 설치가 완료 되었음을 알 수 있다.
2. 도커 파일 생성
우선 Dockerfile을 만들어준다
vi server_info.php
Apache 웹서버가 올라가는 컨테이너 정보를 JSON 포멧으로 출력하는 PHP 예제 파일이다.
여기서 들어가는 컨테이너 정보는 OS 종류, OS 버전 정보, 호스트네임, IP 주소, 시간정보등이다.
<?php
$arr = array('OS' => php_uname('s'), 'Ver' => php_uname('v'), 'HostName' => php_uname('n), 'IP' => $_SERVER['SERVER_ADDR"], 'Date' => date("Y-m-d H:i:s"));
print_r(json_encode($arr,JSON_UNESCAPED_UNICODE));
?>
vi Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y apache2
RUN apt-get install -y php
COPY server_info.php /var/www/html
ENTRYPOINT apachectl -D FOREGROUND
EXPOSE 80/tcp
이후 server_info_php를 /var/www/html 디렉토리로 복사하는 도커파일을 설치해 준다.
3. 도커 컨테이너 이미지 생성
위의 과정들을 다 따라했다면 도커파일과 서버 php 파일이 생성되어 있을 것이다.
sudo docker build -t linarena/image:0.1 .
위의 명령어로 도커 컨테이너 이미지를 만들어준다.
sudo docker images
라고 명령어를 쳐보면 개별 IMAGE ID가 부여된 컨테이너 이미지를 확인할 수 있다.
4. 컨테이너 이미지 배포하기
sudo docker login -u <id> -p <pw>
sudo docker push linarena/image:0.1
docker에 id와 pw를 입력해 접속한 후에
docker을 push 해주었다.
업로드 완료!!
'학부연구생 > 학부연구생 실습' 카테고리의 다른 글
Minikube 활용해서 Pod 생성해 App 배포하기 (0) | 2024.03.19 |
---|---|
kubectl 설치&Minikube 설치 (0) | 2024.03.13 |
VMware 우분투 네트워크 오류 상황 총정리 (0) | 2024.03.01 |
VMware workstation 설치 (0) | 2024.02.24 |
Tetragon 개념 (0) | 2024.02.19 |