1. 백업 하기
누구나 호스트 PC를 재설치 하는 날이 올 것이다.
이번에 나와 같이...
그런데 도커를 이용하고 있었다면....
도커의 OS 이미지야 다시 받아서 바로 올리면 되지만
그 안에 작업했던 것들을 다시 설치하려면 시간이 또 허비된다...
이때는 백업 후 복원하는 것이 정답일 것으로 보인다.
생각보다 상당히 쉽다.
1. 백업 전 상태 저장하기 (commit)
$ sudo docker commit -p [CONTAINER ID] [NAMES] # commit
$ sudo docker ps -a # 이미지들 확인 한 후 $ sudo docker commit -p a6e352c093b3 build-machin # commit
2. 백업하기 (save)
$ sudo docker save -o [저장할이름].tar [이미지 이름]
$ sudo docker save -o build-machin.tar build-machin
3. 복원하기 (load)
$ sudo docker load < [백업한 파일이름].tar
$ sudo docker load < build-machin.tar # 복원하기 $ sudo docker images # 확인하기
2. AWS - EC2 인스턴스 FileZilla(sftp)로 접속하기
목적
- FileZilla 클라이언트 프로그램을 사용하여 로컬PC에서 원격서버(EC2 instance)에 접속하여, 파일을 업로드/다운로드 합니다.
구축환경
- 로컬PC 1대 (클라이언트)
- AWS의 EC2 서버 1대
- FileZilla의 sftp를 사용할 것이므로, EC2서버 22번 포트(ssh와 동일) 오픈 합니다.
(sftp는 ssh와 마찬가지로 전송시 암호화시켜서 전송을 하게 되는데, FTP와 같이 파일을 전송할때 암호화 시켜서 전송합니다. )
구축방법
- 로컬PC에 FileZilla는 설치되어있고, EC2 인스턴스 또한 생성되있다는 가정하에 설명합니다.
- 첫번째로, sftp를 연결하고 로컬에서 원격서버에 write(파일쓰기)를 하기 위해선 root계정으로 connect되야 합니다.
- 따라서, EC2 서버의 root계정을 먼저 활성화 해보도록 하겠습니다.
- EC2 서버에서 /etc/ssh/sshd_config 파일을 열고, PermitRootLogin no > PermitRootLogin yes 로 변경합니다.
- 두번째로는 su root 명령을 사용하여, root계정으로 접속합니다.
(만약, root passwd 설정을 별도로 하지 않았거나 잊어버렸을 경우 아래와 같이 새롭게 설정합니다.)
세번째로는 ~/.ssh 디렉터리 안에 authorized_keys를 EC2서버에 디폴트로 접속할때, 사용하는 ec2-user의 authorized_keys로 변경합니다. /home/ec2-user/.ssh/authorized_keys를 ~/.ssh 디렉터리 하위에 복사합니다.
(변경 이유는, terminal에서 EC2서버에 접속할때, 인스턴스 생성 시 할당받은 pem파일을 가지고 root계정으로도 접속되도록 하기 위함입니다.)
키를 변경후, 설정을 적용시키기위해 service 명령어를 사용하여 sshd을 재시작합니다.
기존에 ec2-user로 접속할때 사용한 pem파일을 사용하여 root계정으로 접속해봅니다.
이제 로컬 PC에서 FileZilla client 프로그램을 사용하여 EC2서버에 연결해보도록 하겠습니다.
먼저 FileZilla를 실행하고, 좌측 상단에 Site Manager를 클릭하고, 정보를 입력합니다.
(Host는 EC2서버 IP를 입력하고, Port - 22, Protocol은 SFTP, User는 root, Logon Type 은 Key file로 변경하고, 인스턴스 생성 시 할당받은 pem파일을 설정합니다.)
접속이 완료됩니다!
댓글 ( 4)
댓글 남기기