docker 이미지 생성 및 명령어

리얼브로·2023년 3월 26일
0

도커이미지 생성하기

이미지를 생성하는 방법은 두 가지가 있다

  • docker commit 명령어

    도커 컨테이너를 이용해 이미지를 생성한다.

  • docker build 명령어

    도커 이미지 설정 파일인 도커 파일을 만들어서 설정 내용대로 이미지를 생성한다.

1.docker commit 명령어 이용하기

기존에 있는 이미지를 수정해 새로운 이미지를 만드는 방법 같다...

기존 이미지를 실행(컨테이너등록) 시 /bin/bash 명령어를 통해 접속 수정사항 반영 뒤 아래 명령어로 생성

docker commit [컨테이너ID] [새로운이미지이름]

2.docker build 명령어 이용하기

도커 파일을 생성해야 하며 일반적으로 도커 파일 이름으로 Dockerfile을 가장 많이 사용한다.

jar 파일과 Dockerfile 둘다 같은 경로에 있다는 가정하에 진행

Dockerfile 작성

vi Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=api_A_gradle-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} myboot.jar
ENTRYPOINT ["java","-jar","/myboot.jar"]

도커 파일 생성과 관련된 명령어

명령어설명
FROM베이스 이미지 (도커 생성시 기반 이미지)
RUN이미지를 실행할 명령어
EXPOSE컨테이너에서 사용할 포트
ADD이미지 생성 시 파일 추가
COPY이미지 생성 시 파일 복사
WORKDIR컨테이너 작업에 대한 디렉터리
MAINTAINER이미지 작성자
CMD컨테이너를 시작할 때 실행할 명령어
LABEL이미지 레이블
ENV컨테이너 환경 변수
VOLUME컨테이너의 볼륨
USER컨테이너의 사용자
ARGDockerfile 내부 변수
ENTRYPOINT컨테이너 시작시 실행할 스크립트

Docker 빌드

docker build -t [dockerID/dockerHubRepository이름]
=> docker build -t bbakku18/kuber-docker .

-t 옵션은 도커 이미지의 이름을 지정하는 옵션이다.

맨 뒤에 점 표시는 작성한 Dockerfile의 경로를 나타내는 것이다.

명령을 실행하는 위치가 Dockerfile과 같은 경로에 있기 때문에 점으로 표시한다.

( dockerHubRepository이름이 Docker Hub에 생성된 Repository과 다르면

PUSH할때 오류가 발생하니 동일하게 맞춰 주자.)

생성된 이미지 확인

docker images

도커명령어

Docker 실행

name : 생성할 컨테이너 이름 설정

p : [hotspot : container port]

docker run -d -p 8080:8080 --name test bbakku18/kuber-docker
curl -XGET localhost:8080/hello
Hello

Docker Container 조회

docker ps

Docker Container stop

docker stop <컨테이너 이름 혹은 아이디>

Docker Container start

docker start <컨테이너 이름 혹은 아이디>

Docker Container restart

docker restart <컨테이너 이름 혹은 아이디>

Docker Container 접속(attach)

​ 현재 실행중인 컨테이너에 접속하는 명령어는 attach 다.

docker attach <컨테이너 이름 혹은 아이디>

Docker Hub 로그인

docker login

Docker Hub 올리기

docker push[생성했던 tag]
=> docker push bbakku18/kuber_docker

0개의 댓글