728x90
728x90
docker build -t [내가 지정하고 싶은 이미지 이름]:[태그] -f [빌드하고자 하는 dockerfile 명] . 위와 같은 방식으로 도커 이미지를 생성할 수 있고 :[태그] 부분은 생략 가능하다. 아래 사진으로 설명하면 이해가 될 것이다. -t 옵션을 사용해서 helloworld 라는 이름의 이미지를 생성할 것이고, 설정 파일은 helloworld.dockerfile 에서 가져오겠다는 뜻이다. . 은 현재 위치한 디렉토리를 뜻하고 여기서는 ~/Desktop/dockerfile-folder 에 해당한다. 태그는 생략 가능하여 생략했다.
도커 파일에 입력된 것들이 도커 클라이언트에 전달되어서 도커 서버가 인식하게 된다. 도커 서버가 이미지를 만들어준다. 위와 같은 과정을 거치기 위해서 docker build ./ 또는 docker build . build 명령어는 해당 디렉토리 내에서 dockerfile 이라는 파일을 찾아서 도커 클라이언트에 전달시켜준다. docker build 뒤에 ./ 와 . 는 둘다 현재 디렉토리를 가리킨다. 그래서 docker build . 을 해보면 (docker build ./ 또는 docker build -t helloworld -f helloworld.dockerfile .) -t 는 도커 이미지 이름을 지정, -f 는 helloworld.dockerfile 이라는 도커 파일로 이미지를 빌드하겠다는 뜻
도커 파일이란? 도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳이다. 도커 파일을 만드는 순서(도커 이미지가 필요한 것이 무엇인지를 생각하기) 베이스 이미지를 명시해준다. (파일 스냅샷에 해당) 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시해준다. (파일 스냅샷에 해당) 컨테이너 시작 시 실행 될 명령어를 명시해준다. (시작 시 실행 될 명령어에 해당) 베이스 이미지는 OS 라고 생각하면 된다. 이미지 안에 어떠한 추가적인 요소를 넣으면 레이어 하나가 추가가 되고, 레이어들 중에서 가장 근본이 되고 기본이 되는 것이 베이스 이미지이다. 실제로 도커 파일을 생성해보자. vsc 를 연다. 파일 하나를 생성, 이름은 dockerfil..
1. 도커 이미지는 컨테이너를 만들기 위해 필요한 설정이나 종속성을 가지고 있는 소프트웨어 패키지이다. 2. 도커 이미지는 Dockerhub 에 이미 다른 사람들이 만들어 놓은 것을 이용할 수 있고, 직접 도커 이미지를 만들어서 사용할수도 있으며 직접 만든 것을 Dockerhub 에 업로드할 수 있다. 도커 이미지를 이용해서 도커 컨테이너를 생성 -> docker create [이미지 이름] 컨테이너는 도커 이미지로 생성한다. 그러면 도커 이미지는 어떻게 생성하는가? Dockerfile 은 도커 이미지를 만들기 위한 설정 파일이고 컨테이너가 어떻게 행동해야 하는지에 대한 설정을 정의해주는 파일이다. 도커 클라이언트는 도커 파일에 입력된 것들이 전달되는 곳이다. 도커 서버는 도커 클라이언트에서 전달된 모든..
중지된 컨테이너를 삭제하고 싶다면? docker rm [도커 아이디/이름] -실행중인 컨테이너는 먼저 중지한 후에 삭제 가능 모든 컨테이너를 삭제하고 싶다면? docker rm `docker ps -a -q` 이미지를 삭제하고 싶다면? docker rmi [이미지 id] 한번에 사용하지 않는 컨테이너, 이미지, 네트워크 모두 삭제하고 싶다면? docker system prune - 도커를 쓰지 않을 때 모두 정리하고 싶을 때 사용해주면 유용하다. - 하지만 이것도 실행중인 컨테이너에는 영향을 주지 않는다.
stop 은 Gracefully 하게 중지를 시킨다 자비롭게 그동안 하던 작업들을 (메시지를 보내고 있었다면 보내고 있던 메시지) 를 완료하고 컨테이너를 중지 시킨다. kill 은 stop 과 달리 어떠한 것도 기다리지 않고 바로 컨테이너를 중지 시킨다.