728x90
728x90
애저(Azure)를 이용하여 도커(Docker)를 구축하고, Dockerfile을 이용하여 직접 도커 이미지를 만들고 컨테이너 만들어보기
들어가며
- 애저(Azure)를 이용하여 구축한 도커(Docker)에서
Dockerfile
을 이용하여 직접 도커 이미지를 만들고, 이 이미지를 이용하여 컨테이너를 만들어 보자. - 이 글은 이전 글(https://dev-astra.tistory.com/390)에 이어서 진행된다.
실습하기
Dockerfile
을 이용하여 직접 도커 이미지를 만들어보기
- 다음과 같이 홈 디렉터리(
$HOME
)로 이동한 후,docker-practice
디렉터리를 생성하고, 그 안에Dockerfile
파일을 만든다.
$ cd $HOME
$ mkdir docker-practice
$ cd docker-practice
$ touch Dockerfile

vi
에디터를 이용하여Dockerfile
파일을 수정한다.
$ vi Dockerfile
![]() |
![]() |
-bash: vi: command not found
안내문이 출력될 경우
- 도커에
vi
가 설치되어 있지 않아vi
명령문이 발견되지 않았다는 안내문이 출력될 수 있다. - 이럴 때는 다음 명령을 실행하여
vim
패키지를 설치해준다.
$ sudo apt-get install vim

Dockerfile 기본 명령어
명령어 | 설명 |
FROM <image>[:<tag>] [AS <name>] |
Dockerfile 이 Base Image로 어떠한 이미지를 사용할 것인지를 명시하는 명령어 |
COPY <src> ... <dest> |
<src> 파일 혹은 디렉터리를 <dest> 경로에 복사하는 명령어 |
RUN <command> RUN ["executable-command", "parameter1", "parameter2"] |
명시한 커맨드를 도커 컨테이너에서 실행하는 것을 명시하는 명령어 |
CMD <command> CMD ["executable-command", "parameter1", "parameter2"] CMD ["parameter1", "parameter2"] |
- 명시한 커맨드를 도커 컨테이너가 시작될 때 실행하는 것을 명시하는 명령어 - 비슷한 역할을 하는 명령어로 ENTRYPOINT 가 있다. - 하나의 도커 이미지에서는 하나의 CMD 만 실행할 수 있다는 점에서 RUN 명령어와 다르다.- CMD ["parameter1", "parameter2"] 는 ENTRYPOINT 와 함께 사용될 때 쓰인다. |
WORKDIR /path/to/workdir |
- 이후 작성될 명령어를 컨테이너 내의 어떤 디렉터리에서 수행할 것인지를 명시하는 명령어 - 해당 디렉터리가 없다면 생성한다. |
ENV <key> <value> |
컨테이너 내부에서 지속적으로 사용될 환경 변수의 값을 설정하는 명령어 |
EXPOSE <port> EXPOSE <port>/<protocol> |
컨테이너에서 뚫어줄 포트/프로토클을 지정할 수 있다. (디폴트 : TCP) |
-
Dockerfile
의 기본 명령어에 대한 자세한 내용은 아래의 공식 문서를 참고한다.
Dockerfile reference
docs.docker.com
- 이제 도커 이미지를 만들어보자. 다음 명령을 실행한다.
build
명령어는 도커 이미지를 생성하는 명령어이다.Dockerfile
을 참조해서my-image
이미지를 현재 경로(.
)에 생성한다.-t
는 태그를 지정하는 옵션으로, 태그(버전)은v1.0.0
으로 설정한다.
$ docker build -t my-image:v1.0.0 .

- 다음 명령을 실행하여 빌드된 도커 이미지가 생성되었는지 확인해본다.
$ docker images

생성한 도커 이미지를 이용하여 컨테이너 만들어보기
- 다음의 명령을 실행하여 도커 이미지를 실행시킨다.
run
명령어를 사용하여 도커 이미지를 실행하여 컨테이너를 생성한다.--name
옵션을 이용하여 컨테이너의 이름을demo1
로 설정한다.- 태그(Tag)가
v1.0.0
인my-image
이미지를 사용한다.
$ docker run --name demo1 my-image:v1.0.0

참고 사이트
도커 공식 문서
Docker Docs: How to build, share, and run applications
docs.docker.com
728x90
728x90
'DevOps > Azure' 카테고리의 다른 글
[Azure] 쿠버네티스(Kubernetes) 실습하기 : AKS(Azure Kubernetes Service) 실습 (0) | 2023.05.30 |
---|---|
[Azure] 쿠버네티스(Kubernetes) 실습하기 : 간단한 실습 해보기 (0) | 2023.05.29 |
[Azure] 쿠버네티스(Kubernetes) 실습하기 : 미니쿠베(minikube) 설치하기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 도커 이미지를 다른 사람과 공유하여 사용해보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 간단한 실습 해보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 도커 설치하기 (0) | 2023.05.27 |
[Azure] 파이썬(Python)을 사용하여 데이터베이스 쿼리 실습하기 (0) | 2023.05.24 |
[Azure] SQL Server 실습하기 (0) | 2023.05.24 |