개발 335

Docker 볼륨

Docker COPY에 대해서 알아보겠습니다. 도커 이미지를 만들고 컨테이너를 실행할 때, 로컬에 있는 파일을 가져와서 실행을 해야합니다 떄문에 ./ 로컬에 있는 파일을 가져와서 ./ 작업하고 있는 컨테이너에 복사한다 라고 설정을 해 준 것입니다. docker build -t 내가원하는이미지이름 docker run -it 내가만든이미지이름 이라고 실행을 해줘서 웹 서버를 띄워도 접속할 수가 없는 경우가 생깁니다. 때문에, 포트 맵핑도 해줍니다. docker run -p 내로컬포트:컨테이너안포트 이미지이름 이런 형태로 포트 맵핑도 가능합니다. 그리고 로컬에 있는 도커파일이 넘어갈 때, WORKDIR로 파일이 어디에 저장될 지도 구분해줄 수 있습니다. 또한 종속성이 있는 부분만 따로 빼서 이미지를 빌드할 수..

개발/docker 2020.11.04

Docker 이미지 만들기

도커 파일은 대략적으로 이렇게 구성됩니다. 베이스이미지에서 필요한 파일을 다운받고, 파일을 실행시켜주는 형태로 구성되는데 위와 같이 alpine이미지를 이용해서 hello를 출력하는 파일을 만들고 docker buil로 이미지를 빌드해줄 수 있습니다. 이렇게 빌드하고 난 이후에는 docker run -it 이미지이름 으로 이미지로 컨테이너를 만들 수 있습니다. 내가 만들 이미지를 내가 원하는 이름으로 만들 때는 docker build -t 내가원하는이미지이름 이렇게 만들어서 docker run -it 내가만든이미지이름 으로 처리할 수 있습니다.

개발/docker 2020.11.04

Docker 실행중인 터미널 처리

Docker 실행중인 컨테이너에 명령어를 전달할 수 있습니다. 실제로 docker에 실행중인 컨테이너 아이디에 명령어를 전달할 수 있는데 docker exec 컨테이너아이디 명령어 이런 순서대로 전달이 가능합니다. 터미널 환경으로 들어갈 수도 있는데 docker exec -it 컨테이너아이디 sh 라고 해서 컨테이너 안의 터미널 환경으로 들어갈 수도 있습니다.

개발/docker 2020.11.04

Docker 컨테이너 삭제

docker stop과 docker kill로 컨테이너를 중지시킬 수 있는데 두개의 차이는 천천히, 강제종료의 차이입니다. 현재 있는 컨테이너를 보려면 docker ps, 그리고 중지된 컨테이너를 보려면 docker ps -a라고 명령어를 통해서 볼 수 있습니다. docker stop과 docker kill 같은 경우는 컨테이너를 중지시키는 역할이고 컨테이너를 삭제하려면 docker rm 를 입력해주면 됩니다. 이미지를 삭제하려면 docker rm 를 입력하면 되고, 이미지 리스트를 보려면 docker image 명령어로 볼 수 있습니다. 한번에 컨테이너들을 모두 삭제하려면 docker rm 'docker ps -a -q' 라고 하면 됩니다.

개발/docker 2020.11.04

Docker 기본 명령어 실행

도커 설 치는 유튜브에 치면 많이 나오니깐 알아보시면 됩니다. 간단하게 docker run이라는 명령어를 실행해보겠습니다. docker run alpine이라고 alpine 이미지를 가져와서 로컬호스트로 핑을 때려본겁니다. 여기에서 드는 의문은 alpine이라는 이미지는 어디서 가져오는건가? 하는 의문이 드는데 얘는 로컬에 다운받아놓은 이미지가 없으면 도커허브란 곳에서 가져옵니다. hub.docker.com/ Docker Hub Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as containers. Certified Plugins for networking and volumes in..

개발/docker 2020.11.04

Docker란 무엇인가

Docker에 대해서 잠시 알고 가 보겠습니다. 도커에 대해서 정말 많이 듣는데, 얘에 대한 개념을 잡기가 쉬운게 아닙니다. 도커 이미지, 컨테이너 이런 단어들을 하나씩 보면서 설명을 드려 보겠습니다. 제가 만약 AWS에 Django프로젝트를 배포한다고 생각을 해볼게요. 그러면 저는 ubuntu라는 곳에 python과 Django를 설치하고 각 패키지들을 가져와서 설치를 할 겁니다. 그런데 보통 로컬환경에서 개발한 애를 배포하는 순서대로 진행을 하잖아요? 근데 내 컴퓨터에서 돌아가는 애를 서버에 배포시켜주면 늘 한방에 되지 않습니다. 때문에 각각의 개발환경들을 미리 세팅해놓고 얘네들을 그대로 서버에 배포하는 형태로 개발합니다. 각각의 개발 환경을들 이미지라고 하며 이 이미지들을 가지고와서 개발 환경을 구..

개발/docker 2020.11.04