저번 게시글에 이어 Docker에 대해 좀 더 살펴보겠습니다.
이렇게 만들어진 docker 이미지를 공유해서 사용하게 된다.
Dockerfile을 사용하기도, docker-compose를 사용하기도 한다.
Dockerfile
컨테이너 이미지에 대한 정보를 기술하고 docker build 명령어로 컨테이너 이미지를 설계서에 기술된 대로 조립
Dockerfile 생성
hello-docker.txt에는 "Hello, docker." 의 내용이 들어있음
이미지 생성
$ docker build [옵션] <Dockerfile 경로>
$ docker build -t smj100394/centos:1.0 .
-t 옵션에 이어 account명/이미지명:버전 명(태그) 형태로 지정
centos라는 이름과 1.0 태그를 지정
Dockerfile 경로는 '.'으로 지정
이미지를 이용하여 컨테이너를 실행
이미지가 생성된 것을 확인: docker images
생성된 컨테이너 이미지를 실행: docker run -td --name devops-book-1.0 <account명>/centos:1.0
*devops-book-1.0: 컨테이너 이름
*<account명>/centos:1.0: 이미지 이름
컨테이너 확인: docker ps
컨테이너 접속: docker exec -it devops-book-1.0 /bin/bash
Dockerfile에서 기재해 둔 내용 확인 1: cat /tmp/hello-docker.txt
Dockerfile에서 기재해 둔 내용 확인 2: rpm -qa | grep epel
hello-docker와 epel을 통해 Dockerfile에 명시해 둔 내용들이 잘 적용이 된 것을 확인할 수 있다.
컨테이너 이미지화
컨테이너 내용을 변경해보자.
nginx를 설치하므로써 컨테이너의 내용이 Dockerfile과 달라짐
현재 컨테이너 상태를 이미지로 저장해보자.
$ docker commit <컨테이너 이름> <이미지 이름>
commit을 통해 현재 devops-book-1.0의 컨테이너를 <account명>/centos-test:1.1의 이미지로 생성하였다.
docker images를 통해 이전 상태와 비교하니 제대로 잘 추가된 것을 확인
이제 해당 이미지 파일을 dockerhub에 등록해보자.
$ docker push <account>/<이미지 이름>:<태그>
dockerhub에 잘 올라간 것을 확인
docker-compose
docker 컨테이너를 한 번에 처리할 수 있음
docker-compose 설치
docker-compose 사용
$ docker-compose up -d #실행
$ docker-compose stop #컨테이너 정지
$ docker-compose down #정지 및 삭제
<출처>
IT 운용 체제 변화를 위한 데브옵스(DevOps)
'Study > Docker' 카테고리의 다른 글
[Docker]Docker Image Layer (0) | 2023.11.17 |
---|---|
[Docker]Docker 사용하기 (0) | 2023.02.11 |
[Docker]명령어 (0) | 2022.10.18 |
[Docker]Docker 입문 및 간단 명령어 (0) | 2021.08.18 |