Mac Terminal에서 AWS ubuntu 접속하기
pem 키 권한 부여해야 사용 가능. chmod 400 (내 키).pem
이후 다음과 같이 입력하면 접속할 수 있다.
ssh -i (키페어 이름) ubuntu@(aws주소)
이미지 생성 및 배포
# docker build -t <dockerhub 아이디>/<프로젝트이름> <dockerfile 경로> : Dockerfile로 이미지를 생성
# docker login : 도커허브 아이디,비밀번호로 로그인
# docker push 이미지이름:태그(버전)
컨테이너 및 이미지 삭제
지정 컨테이너 중지, 삭제, 이미지 삭제
// 컨테이너 정지
docker stop (컨테이너 해쉬)
// 컨테이너 삭제
docker rm (컨테이너 해쉬)
// 이미지 삭제
docker rmi (이미지 해쉬)
모든 도커 컨테이너 중지
docker stop $(docker ps -a -q)
모든 도커 컨테이너 삭제
docker rm $(docker ps -a -q)
모든 도커 이미지 삭제
docker rmi $(docker images -q)
이미지 생성 예시(Build 완료된 React Survey Page)
1. Survey 메인 폴더 안에.dockerignore파일을 만들어, node_modules를 내용에 입력해 이미지 파일에 업로드 시 제외시킨다.(.gitignore와 비슷하다)
2. Dockerfile를 상위 폴더에서 만든다. 메모장, Vim Editor 등 어떤 곳이든 상관 없다.(.txt 안 되도록 주의!!)
FROM node:latest
WORKDIR /app
COPY (이미징 하려는 폴더 이름) ./
RUN npm install
EXPOSE 4000(다른 포트로 설정했으면 해당 포트번호)
CMD ["node", "(서버 돌리는 js파일).js"]
3. Docker Image를 생성한다.
docker build -t (아이디)/(이미지명) .
4. docker images를 입력해 만들어졌는지 확인한다.
5. docker run (이미지명)으로 이미지가 돌아가는지 확인한다.
** 특정 포트를 포워딩해야 밖에서 접속할 수 있으므로,
docker run -p (내가 지정한 포트):(내가 지정한 포트) (이미지 해쉬) 이런 식으로 접속한다.
↓예시
docker run -p 4000:4000 -d --rm b3f1f38ea3fc
-d는 Background에서 실행하는 것이며, --rm은 종료 뒤 컨테이너를 자동으로 삭제해준다.
여기서도 안되면 aws의 보안 규칙을 확인해본다.
DockerHub에 올리고 공유하기
- docker login으로 DockerHub 아이디와 비번 입력하면 접속된다.
- docker images로 만들어진 이미지 저장소와 TAG를 확인한다.
- docker push (아이디)/(이미지 저장소 이름):(TAG)로 로컬에 있는 이미지를 DockerHub에 저장한다.
- DockerHub 사이트에 보면, 잘 저장되어 있는 것을 확인할 수 있다.
- 다른 컴퓨터에서 다음과 같은 방식으로 실행하면 Docker image를 자동으로 받아 실행한다.
docker run -p (지정 포트):(지정 포트) (상대방 아이디/이미지 이름)
↓예시
docker run -p 4000:4000 -d --rm chaarles/survey
여기서 다른 컴퓨터에서 내 프로젝트가 잘 실행되면 완성!
'AWS' 카테고리의 다른 글
잡담_AWS 접속 시 network error_ connection timed out (8) | 2020.05.02 |
---|---|
AWS ubuntu 환경 설정하기 3_Java 1.8, Tomcat 9.0 설치 (0) | 2020.04.26 |
AWS ubuntu 환경 설정하기 2_MySQL, nginx 설치 (0) | 2020.04.26 |
AWS ubuntu 환경 설정하기 1_인스턴스 설치 및 mobaXterm 설정 (0) | 2020.04.26 |