본문 바로가기
가상화/docker

[Docker] 컨테이너 이미지 만들기, dockerfile 생성,컨테이너 개조하기

by JINJINC 2023. 5. 11.
728x90
반응형

 컨테이너로 이미지 만들기

docker run --name httpd01 -d -p 8092:80 httpd
docker exec -it httpd01 /bin/bash
$ mkdir /testing
$ exit

docker commit httpd01 httpd01_image
docker image ls

docker run --name httpd02 -d -p 8093:80 httpd01_image
docker exec -it httpd02 /bin/bash
ls /

httpd02에서 복사 잘 되었는지 확인해보기

 

 Dockerfile 스크립트로 이미지 만들기

- Dockerfile 스크립트를 작성하고 이 스크립트를 빌드해 이미지를 만드는 방법이다.

- Dockerfile 스트립트에는 토대가 될 이미지나 실행할 명령어 등을 기재한다. 편집은 메모장 같은 텍스트 에디터를 사용한다.

- 이 파일을 호스트 컴퓨터의 이미지 재료가 들어있는 폴더(위치는 어디라도 상관없다)에 넣는다. 재료 폴더에는 그 외 컨테이너에 넣을 파일을 함께 둔다. 실제 컨테이터를 만들 필요는 없다.

 

<자주사용되는 커맨드 예>

docker build -t 생성할 _이미지_이름  재료_폴더_경로

 

<Dockerfile 스크립트의 예>

01.FROM 이미지_이름
02.COPY 원본_경로 대상_경로
03.RUN 리눅스_명령어
....

touch /dir1/index.html --> hello 편집
cd /dir1

vi Dockerfile
FROM httpd
COPY index.html /usr/local/apache2/htdocs

docker build -t httpd01_image /dir1
docker image ls

docker run --name httpd01 -d -p 8094:80 httpd01_image 
<확인> http://192.168.1.104:8094 -> hello

 

 컨테이너 개조하기

- docker exec 는 컨테이너 속에서 명령어를 실행하는 커맨드이다.

- bash 를 사용한 컨테이너 조작이 끝나고 나면 다시 docker start 커맨드로 컨테이너를 재시작해야 한다.

▣ exec 커맨드에 인자를 추가한 예
docker run --name httpd01 -d -p 8088:80 httpd 
docker exec -it httpd01 /bin/bash

▣ run 커맨드에 인자를 추가한 예
docker run --name httpd02 -it -p 8089:80 httpd /bin/bash
$
728x90
반응형

댓글