본문 바로가기
IT/Docker.K8S

docker 실습 part.4

by 성준하이 2022. 4. 9.
반응형

저번 포스팅에서 dockerfile을 만들었고 이어서 이미지를 생성해볼것이다.

 

설치한 docker 를 통해서 docker 명령어를 사용하여 만들것이다.

docker build -f Dockerfile -t dockertest .

명령어를 하나씩 보면

-f는 도커파일을 명시해주는 옵션이고

-t는 만들어질 도커 이미지의 이름을 설정 하는것이다.

마지막에 .은 build context라 하여 현재 위치에서 사용할 파일들이 있다는것을 명시해주는것이다.

 

docker build 명령어는 아래 사이트에 가면 다양한 옵션이 있으니 확인해보도록 한다.

https://docs.docker.com/engine/reference/commandline/build/

 

docker build

docker build: The `docker build` command builds Docker images from a Dockerfile and a "context". A build's context is the set of files located in the specified `PATH` or `URL`....

docs.docker.com

 

그리하여 위의 명령어로 도커 이미지 생성을 해보자!

만약 다음과 같은 에러가 나왔다면 도커가 실행되고 있지 않다는 말이니 처음 포스팅에서 했던 도커 앱을 실행해주도록 한다.

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

 

그러면 다양한 콘솔이 찍히면서 실행이 된다.
그리고 이어서 터미널에

docker images

라고 쳐보면 -f 옵션에서 설정한 이름으로의 이미지가 보이게 된다.

repository의 옵션에 이름으로 되어있는데 github에서 repository 의 이름과 같다.

 

이미지 파일을 만들었으면 이제 컨테이너를 실행해볼 차례이다.

명령어는 다음과 같다.

docker run -d -p 8080:8080 dockertest

옵션을 하나하나 보면

-d는 detached 의 명령어이다. 리눅스에서 처럼 백그라운드에서 돌게 하려면 다음과 같은 명령어를 옵션으로 추가한다.

-p 8080:8080 은 포트를 지정하게 된다.

내 로컬에서의 포트와 현재 만들어진 컨테이너 안에서의 포트를 포워딩 개념으로 이어주게 된다.

마지막은 만들어둔 이미지의 이름이다.

 

돌려보면 해쉬 값들로 된  컨테이너가 동작하며 컨테이너 id가 보인다.

 

docker ps 를 사용하면 동작중인 컨테이너를 확인할수 있고 docker run에서 잡아둔 포트로 localhost:8080 하여 보면 도커 이미지가 컨테이너 상에서 백그라운드에서 잘 작동하는것을 알수 있다.

 

다양한 터미널에서 명령어로 현재 동작중인 컨테이너에 대해서 알수 있지만 설치한 docker 앱을 통해서도 확인이 가능하니 테스트를 하면서 뭐가 있는지 살펴 보는것을 추천한다.

 

그리고 마지막으로 사용 안하는 컨테이너는 모두 종료를 해줘야한다.

이들이 각각 자원을 잡아먹고 있으니 말이다.

docker ps 를 하여 사용중인 컨테이너의 id를 알아낸 다음에 

리눅스에서 kill을 하는것처럼 도커는 다음 명령어를 사용한다.

docker stop container_id

그리고 만약 이미지를 삭제하려면 다음과 같이 한다.

docker rm dockertest

 

반응형

'IT > Docker.K8S' 카테고리의 다른 글

[Docker] Redis  (45) 2023.09.07
도커 명령어 정리  (56) 2023.09.06
docker 실습 part.3  (23) 2022.04.08
docker 실습 part.2  (36) 2022.04.07
docker 실습 part.1  (49) 2022.04.06

댓글