할당받은 IP 주소에 Dockerfile을 docker-compose.yml을 통해 실행한 실습입니다.
도커 허브를 이용할 수 있지만 docker save를 통해 저장, 파일을 옮겨주기로 했다.
docker save -o front-img.tar front-img
//도커 / save / 아웃풋방식지정 / 만들파일이름 / save 대상인 이미지파일
save 할 때 -o (stdout) 출력방식을 지정하지 않으면 오류가 나니, 꼭 옵션 붙이자.
이 방법 외에도 export / import 하는 방식도 있다.
이렇게 옮길 파일들과 컴포즈를 준비 해 주자.
파일질라는 서버에 파일을 전송하기 위해 사용하는 FTP(File Transfer Protocol), SFTP (SSH FTP) 이다.
쉽게말해 서버에 파일을 전송해 주는 프로그램이라는 뜻.
아무튼 설치해보자.
검색해서 쉽게 다운로드 가능하다.
다운 후 실행하고
파일의 사이트 관리자를 눌러 뜨는 창에서 아래 New Site를 누르면,
위와 같은 창을 볼 수 있다.
나는 SSH 서버에 SFTP 방식으로 전송하기 때문에 포트를 22번을 지정했지만,
FTP 방식이라면 포트번호를 21번으로 해주면 된다.
나머지 호스트는 파일을 보내거나 수정할 IP주소를,
사용자와 비밀번호는 각각 지정된 유저로 입력 후 연결을 눌러주면 된다.
성공적으로 연결되었다면 왼쪽 내 컴퓨터에서 파일을 찾아 오른쪽으로 옮겨주면 끝이다.
(현재 사진은 연결전이나, 연결이 되었다면 해당 ip로 접속한 서버의 디렉토리를 확인 할 수 있다.)
PuTTY는 SSH에 접속을 도와주는 클라이언트 프로그램이다.
설치와 이용방법은 인터넷에 검색시 확인이 가능합니다 :)
일단 내가 해야 할 환경에는 Docker는 설치되어 있으나 권한이 없는 상태였다.
때문에 권한을 줄 그룹 생성과 유저를 넣어주면 된다.
sudo groupadd docker
권한을 추가할 docker 그룹을 생성해준다.
이미 존재할 수도 있는데, 그런 경우 생략해주자 :) (난 이미 그룹은 생성되어 있었다.)
sudo usermod -aG docker $USER
sudo usermod [append group추가옵션] [추가할 권한폴더] [현재 접속한 유저이름]
docker라는 그룹에 사용자를 추가해주는 명령어다.
각 부분은 저렇게 구성되어 있으니 참고하면 된다.
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
도커 컴포즈는 해당 명령어를 통해 설치후,
chmod +x /usr/local/bin/compose-switch
도커 컴포즈 폴더에 권한을 주면 된다.
잘 설치 되었다면, 버전을 확인 할 수 있다.
(다만, 내가 윈도우와 우분투에 설치한 버전은 똑같은 2.2.2 인데 docker-compose 라는 명령어를 쓰고, 이번에 설치한 부분은 docker compose로, - 없이 사용한다. 왜 이런 차이가 있을까?)
이제는 어느 환경이나 동일하게 실행하면 된다.
docker load -i front-img.tar
[도커] [로드] [stdin 방식으로] front-img.tar를 압축해제할것
여기도 꼭 -i 명령어를 통해 로드해주고
docker compose up
실행하면 잘 된다.
현재 compose 실행시, 미리 container가 실행중인 상태가 아니라면 웹이 제대로 실행되지 않는 오류가 있습니다. 해결중입니다.