일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 도커설치하는법
- springboot_exception_handler
- 서버에도커설치
- 스프링이미지업로드
- 스프링부트
- 스프링구독
- dockerinstall
- 스프링익셉션처리
- 스프링부트팔로잉
- 출처 노마드코더
- 스프링부트중복예외처리
- 출처 메타코딩
- ssh도커설치
- centos도커설치
- 스프링부트팔로우취소
- 스프링사진
- 우분투도커설치
- vm도커설치하는법
- 멀티폼
- 스프링부트구독취소
- 파이썬sort
- 스프링사진업로드
- 인스타클론
- 출처 따배도
- WAS웹서버
- 스프링부트api
- 출처 코딩셰프
- 스프링부트사진올리기
- 출처 문어박사
- 스프링부트서버에사진전송
- Today
- Total
MakerHyeon
[Docker] docker container 살펴보고 만들어보기 본문
3-2 도커 컨테이너 살펴보기
컨테이너? 컨테이너 이미지?
- 컨테이너는 하나의 Application 프로세스
도커호스트란?
- 현재 도커 데몬이 동작되고있는 리눅스 커널이 있는 시스템
Docker DaemonL systemctl start docker
컨테이너 = 다른 프로그램과 완전히 독립된 환경에서 실행!
컨테이너 이미지 = 컨테이너 실행을 위해서 미리 가지고 있어야 하는 컨테이너이미지
허브 = 컨테이너 이미지가 저장된 창고
● 실습
도커우분투서버실행후 ssh 접속
허브에서 검색
$ docker search nginx
허브에서 이미지 가져오기
$ docker pull nginx:latest
컨테이너 실행하고 확인해보기
$ docker run --name web -d -p 80:80 nginx:latest
$ docker ps
컨테이너 웹 중지
$ docker stop web
컨테이너삭제
$ docker rm web
이미지 삭제(ex_ nignx)
$ docker rmi nginx
3-2 도커 컨테이너 만들어보기
Q1.무엇을 컨테이너로 만드는건가요?
- 개발한 애플리케이션(실행파일)과 운영환경이 모두 들어있는 독립된 공간
- 개발한 프로그램과 실행환경을 모두 컨테이너로 만든다.
- MSA 환경의 애플리케이션 운영
Q2.컨테이너 어떻게 만들어요?docker file이 뭐죠?
- Dockerfile을 이용해 컨테이너를 빌드한다.
- 컨테이너 이미지를 생성할 수 있는 고유의 지시어를 가진다.
- 대소문자 구분하지 않으나 가독성을 위해 사용한다.
$ mkdir build
$ cd build
$ vi dockerfile
FROM node:12
COPY hello.js /
CMD ["node","/hello.js"]
- latest . 은 hellojs가 현재 디렉토리에 있음을 의미
$ docker build -t imagename(ex_hellojs):latest .
Q3.내가 만든 컨테이너를 배포하려면?
- 허브에 넣으면 쓸 수 있다!
- $ docker login
- $ docker push hellojs:latest
● 실습
1. nodejs 애플리케이션 컨테이너 만들기 : hello.js
2. 우분투 기반의 웹 서버 컨테이너 만들기
3. 만들어놓은 컨테이너 배포하기
● 실습 1 - nodejs 애플리케이션 컨테이너 만들기 : hello.js
- hello.js 파일을 만든다.
- dockerfile을 만든다.
- FROM: hello.js를 실행할 base image
- COPY: 현재 디렉토리의 hello.js를 최상위 컨테이너에 복사.
- CMD: 명령어 실행 커맨드
- . 은 docker host의 작업 디렉토리를 알려줌(hello.js가 있는 디렉토리)
- 잘 만들어졌나 확인!
● 실습 2 - 우분투 기반의 웹 서버 컨테이너 만들기
- 도커 파일 편집
- 도커파일 내용
- 빌드
- 빌드 확인
- 웹 서버 동작 확인,동작중 컨테이너 삭제(동작중 옵션 -f)
실습 2 - 만들어놓은 컨테이너 배포해보기
- 도커 로그인 하고 푸시
- 허브에 올리려면 앞에 계정아이디가 붙어야한다.이때 이름을 바꾸는 tag명령을 사용.(실제아이디는같지만 이름 다른것이 또 생성됨)
허브에 업로드 (컨테이너 배포)
'Server > Docker' 카테고리의 다른 글
[Docker] Docker 컨테이너 사용하기 (0) | 2023.03.31 |
---|---|
[Docker] 컨테이너 보관창고(Registry) (0) | 2023.03.31 |
도커 컨테이너 Docker Container (+실습) (0) | 2023.03.02 |
Docker 기초 명령어 (0) | 2023.03.02 |
[Docker] 도커 설치 - ubunu / centOS Server에 Docker 설치하기 (0) | 2023.02.21 |