본문 바로가기

가상 머신/Docker

[ Docker ] 내 docker에 자동 실행 기능 추가하기

반응형

 

 

🌱 Docker 이미지를 만드는 방법은 크게 Dockerfile을 작성하고, 그 파일을 사용하여 이미지를 빌드하는 과정으로 나눌 수 있습니다. 여기에 간단한 예시를 들어 설명드리겠습니다.

 

 

1단계: start-script.sh 작성

  1. Container에 접속: 개발중인 container에 접속해서 '/' 폴더에 start-script.sh를 작성합니다.
docker exec -it jolly_jones bash

  1. start-script.sh를 작성

편집기를 열어서 start-script.sh에 아래 내용으로 파일을 작성합니다.

vim /start-script.sh

start-script.sh 파일 내용

#!/bin/bash
/root/start-myservice.sh # 개발한 프로그램을 실행 시킨다.

실행 권한을 설정합니다.

chmod +x /start-script.sh

 

 

2단계: 실행 중인 container를 commit 합니다.

container에 개발한 프로그램과 '/' 폴더에 start-script.sh가 설치된 상태로 container를 이미지로 commit 합니다.

docker commit jolly_jones myimage:0.0.1

 

 

3단계: Dockerfile 작성

Dockerfile은 Docker 이미지를 빌드하기 위한 스크립트로, 필요한 모든 명령어와 설정을 포함합니다. 가장 기본적인 Dockerfile은 다음과 같습니다:

  1. 기본 이미지 지정: 모든 Docker 이미지는 기본 이미지에서 시작합니다. 이는 OS 또는 미리 구성된 다른 이미지일 수 있습니다.
   FROM myimage:0.0.1
  1. 실행 명령 설정: 컨테이너가 시작될 때 실행될 명령을 설정합니다.
   CMD ["/start-script.sh"]

위의 예시는 자신만의 이미지를 기반으로 자신이 개발한 프로그램을 실행하도록 설정한 Dockerfile입니다.

 

 

4단계: Docker 이미지 빌드

Dockerfile을 작성한 후에는 다음 명령어를 사용하여 Docker 이미지를 빌드할 수 있습니다:

docker build -t myimage:0.0.2 .
  • docker build: Docker 이미지를 빌드하는 명령어입니다.
  • -t myimage:0.0.1: 빌드된 이미지에 myimage:0.0.1라는 태그를 지정합니다.
  • 마지막의 .: Dockerfile이 위치한 디렉토리를 가리키며, Docker 빌드 컨텍스트를 나타냅니다.

 

 

5단계: 이미지 실행

이미지 빌드가 완료되면 다음 명령어로 Docker 컨테이너를 실행할 수 있습니다:

docker run myimage:0.0.2
  • docker run: 컨테이너를 시작하는 명령어입니다.
  • myimage:0.0.2: 실행할 이미지의 이름입니다.

이렇게 하면 빌드한 이미지로부터 컨테이너가 생성되고, container가 실행될 때마다 지정된 명령이 실행됩니다.
container를 stop 했다가 start 할 때마다 실행하기를 원하는 프로그램을 설정하면 container를 실행 후 자동으로 실행 됩니다.

반응형