Study/Docker

[Docker]Docker 사용하기 2 (공유)

seomj 2023. 2. 11. 16:49

저번 게시글에 이어 Docker에 대해 좀 더 살펴보겠습니다.

 

[Docker]Docker 사용하기

Docker 이미지 가져오기 해당 명령어를 통해 docker hub에서 centos를 찾는다. $ docker search centos 컨테이너 이미지를 pull하여 가져오자. $ docker pull docker images 명령어를 통해 컨테이너 이미지들을 확인 pul

seomj74.tistory.com


이렇게 만들어진 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)

https://somjang.tistory.com/entry/Docker-docker-commit-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95