학습 목표
- 컨테이너 기술이 무엇인지, Docker가 왜 필요한지 알 수 있다.
- 컨테이너와 이미지, 레지스트리가 무엇인지 이해할 수 있다.
- 대표적인 레지스트리인 Docker Hub에서 이미지를 검색하고, 사용할 수 있다.
- 한 개의 이미지를 이용해서 컨테이너를 구축할 수 있다.
- 두 개 이상의 이미지를 이용해서 컨테이너를 구축하고 서로가 어떻게 연결되는 지 알 수 있다.
- Docker CLI에서 명령어를 사용해서 이미지를 생성/수정/배포하고, 컨테이너를 생성/삭제할 수 있다.
- Dockerfile을 이용해 이미지를 생성할 수 있다.
- 애플리케이션을 컨테이너화할 수 있다.
- Registry_Account/Repository_Name:Tag
- 레지스트리
- 도커 이미지를 관리하는 공간
- 특별히 지정하지 않는다면 도커 허브를 기본으로 설정
- 레포지토리
- 레지스트리 내에 도커 이미지가 저장되는 공간
- 태그
- 주로 버번 정보를 입력함
- 특별히 설정하지 않으면 latest 태그를 붙인 이미지를 가져옴
- 레지스트리
- docker image pull 파일명
- 레지스트리에서 이미지 혹은 레포지토리를 가져옴
- docker image ls
- 이미지 리스트를 출력함
- docker image rm 이미지명
- 이미지 삭제
- docker container run —name 컨테이너_이름 이미지파일
- 컨테이너에 —name의 이름을 할당하여 실행
- docker container ps -a
- 모든 컨테이너의 리스트를 출력함
- -a: 종료된 컨테이너를 포함
- docker container rm 컨테이너_이름
- 컨테이너_이름의 컨테이너를 삭제함
httpd 웹서버 실습
- docker container run —name httpdserver -p 818:80 httpd
- 컨테이너 명을 httpdserver로 설정
- 818번 포트로 실행
- httpd 실행
- docker container cp ./ httpdserver:/usr/local/apache2/htdocs/
- 현 위치의 파일들을 httpdserver 컨테이너 내의 /usr/local/apache2htdocs/ 폴더로 복사함
- 도커 이미지 만들기
- 구동한 컨테이너를 이미지로 만드는 방법
- docker container commit httpdserver my_pacman:1.0
- httpdserver 컨테이너를 my_pacman:1.0 이라는 이름의 이미지로 생성
- docker run —name my_web2 -p 900:80 my_pacman:1.0
- my_web2 라는 컨테이너 명으로 my_pacman:1.0 이미지를 900번 포트에서 실행
- docker container commit httpdserver my_pacman:1.0
- 도커파일로 만드는 방법
- docker build —tag my_pacman:2.0
- 도커 파일로 도커 이미지 파일을 생성
- docker run —name my_web3 -p 901:80 my_pacman:2.0
- my_web3 라는 컨테이너 명으로 my_pacman:2.0 이미지를 901번 포트에서 실행
- docker build —tag my_pacman:2.0
- 구동한 컨테이너를 이미지로 만드는 방법
드디어 학부때부터 말만 듣고 궁금했던 도커가 시작됐다
이미지를 다운로드 받고 컨테이너를 실행하는 것까지 성공했다
어떻게 동작하는지 대충은 알거같은데.. 아직 감만 살짝? 오고 자세히는 모르겠다
좀 더 심도있게 공부해봐야겠다
'Code States > TIL' 카테고리의 다른 글
[0413] (페어) Docker - 애플리케이션 컨테이너화 연습: Node.js 웹 앱의 컨테이너화 (0) | 2023.04.13 |
---|---|
[0412] (실습) Docker - Docker Image 다루기 (0) | 2023.04.12 |
[0411] Docker - 왜 Docker인가? (0) | 2023.04.11 |
[0411] (페어) YAML - YAML 작성 (0) | 2023.04.11 |
[0411] YAML - YAML과 JSON (0) | 2023.04.11 |