개발/docker 12

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

Docker swarm

swarm이란 것에 뜻은 군단? 군중? 이러한 뜻입니다. docker swarm이라는 것도 도커의 군단?이겠죠? 컨테이너 여러개를 관리해주는 도구라고 생각하면 됩니다. 도커를 관리해주는 쿠버네티스라는 것도 있는데 왜 이걸 써야하냐? 라고 물어보시면 대답은 간단하게 구지 쿠버네티스를 이용할 필요를 못 느끼기 때문입니다. 도커 안에서도 컨테이너를 관리하는 기능을 사용할 수 있는 것이 docker swarm이라고 생각하면 됩니다. 참고 [1] - subicura.com/2017/02/25/container-orchestration-with-docker-swarm.html

개발/docker 2020.09.07

Docker로 Django EC2배포

우선적으로 이 블로그를 많이 참고했습니다. cholol.tistory.com/489 서버개발자가 되는법 [2_1] - django, nginx 도커로 구동하기 목차 2020/03/15 - [Study/서버] - 서버개발자가 되는법 [0] 2020/03/29 - [Study/서버] - 서버개발자가 되는법 [1] - 서버 개발환경 셋팅, AWS EC2만들고 Django 프로젝트 실행해보기 2020/05/05 - [Study/서버].. cholol.tistory.com 순서를 아래와 같습니다. 1. docker설치 2. Dockerfile 만들어서 세팅 3. Port 열어주기 일단 docker설치는 다 하실테니 넘어가고 2. 도커파일 만들기 도커 파일을 만들어야 하는데 장고 프로젝트 안에 도커파일 위치는 여기..

개발/docker 2020.09.05

docker 볼륨

Docker 볼륨에 대해서 알아보겠습니다. 도커 볼륨과 마운트도 많이 듣는 말 중에 하나인데 이게 뭔지 한번 보고 가겠습니다. 일단 도커 컨테이너를 뛰웠는데 볼륨은 또 뭐고 마운트는 뭐인가? 라고 생각하보면 일단 저 컨테이너에서 응용 프로그램을 띄워도, 저 안에서 뭔가 저장하는 작업(회원가입)등이 있을 때 컨테이너에 저장되지만 이 컨테이너가 종료되면 데이터는 time to say goodbye 입니다. 떄문에 이 데이터를 영속적으로 저장하는 방법에는 호스트에 볼륨을 공유하는 방법이 있습니다. 즉 내 컴퓨터와 저장소를 공유하는 방법입니다. 내 컴퓨터의 저장소와 공유한다니깐 한개의 저장소를 쓰는 것 처럼 보이는데, 그렇다기 보다는 도커 컨테이너 안에도 데이터를 저장하고 내 컴퓨터 안에도 데이터를 저장하는 방..

개발/docker 2020.09.04