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@의 기본 명령어에 대한 자세한 내용은 아래의 공식 문서를 참고한다.
- 이제 도커 이미지를 만들어보자. 다음 명령을 실행한다.
- @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
참고 사이트
도커 공식 문서
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 |