devops(27)
-
docker 이미지
docker 이미지 지금까지 우리가 만들어온 컨테이너는 이미지를 기반으로 만들어진다. 컨테이너에서 무슨일을 하던 기반이 되었던 이미지에는 영향을 끼치지 않는다. 우리가 npm, apt-get install은 npm 레퍼지토리 apt 레퍼지토리 등에서 다운 받습니다. docker도 마찬가지로 docker hub라는 곳에서 이미지를 다운받습니다. 이 이미지는 공식적으로 인정받은 이미지 부터 개인 개발자가 올리고 다운받을 수 있습니다. 그리고 git과 비슷하게 개인의 이미지를 private로 올릴 수 있습니다. 하지만 하나의 공간만이 무료이고 나머지는 유료라서 주의 하셔야합니다. 직접 https://hub.docker.com/ Docker Hub Docker Certified:Trusted & Supporte..
2020.01.31 -
docker 컨테이너 자원 할당 제한
docker 컨테이너 자원 할당 제한 컨테이너를 생성하는 run, create 명령어에서 컨테이너의 자원 할당량을 조정하도록 옵션을 입력할 수 있습니다. 아무런 옵션을 입력하지 않으면 호스트의 자원을 제한 없이 사용할 수 있습니다. 하지만 모든 자원을 사용하게 된다면 호스트에 영향을 끼칠 뿐더러 다른 컨테이너에도 영향을 끼치게 됩니다. 이전까지 테스트 한 컨테이너의 자원제한을 확인할 수 있는 방법은 inspect 명령어를 사용하는 것입니다. docker inspect test_ubuntu 결과 내용 "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": [], "BlkioDev..
2020.01.29 -
docker 컨테이너 log 남기기
docker 컨테이너 log 남기기 container안에서 어떤 일(에러 및 로그 정보)이 생기는지는 매우 중요합니다. 도커는 컨테이너의 표준 출력과 에러 로그를 별도의 메타데이터 파일로 저장하며 이를 확인하는 명령어를 제공합니다. logs 명령어 docker run -d --name mysql \ -e MYSQL_ROOT_PASSWORD=1234 \ mysql:5.7 -d옵션을 사용하여 백그라운드로 실행하게 만들겠습니다. container를 생성한 후 docker logs 명령어를 통해서 log정보를 통해 실행정보를 확인할 수 있습니다. docker logs mysql ✔ 9577 18:29:03 2020-01-26 09:29:03+00:00 [Note] [Entrypoint]: Entryp..
2020.01.26 -
docker 네트워크
docker 네트워크 docker에서 컨테이너를 만든 다음 자동으로 내부에서 사용할 수 있는 ip가 할당된다. 172.17.0.2부터 차례대로 순차적으로 배치된다. 이 값은 재시작할 때 마다 다르게 배치된다. container가 생성될 때 마다 외부와의 네트워크 연결을 위해 호스트에서는 자동으로 veth라는 네트워크 인터페이스가 생성된다. veth는 도커가 자동으로 생성된다. veth는 자동으로 docker0라는 브리지와 바인딩돼 외부와 통신할 수 있습니다. 컨테이너가 생성되면 자동으로 docker0브릿지와 연결되지만 자체적으로 제공하는 네트워크 드라이브를 선택하여 사용할 수 있다. 네트워크 드라이브로는 bridge, host, none, container, overlay등이 있다. 기본적으로 사용할 수..
2020.01.22 -
container를 외부에 노출하기
container도 가상머신과 똑같이 ip를 할당받습니다. docker의 container의 경우에는 172.17.0.x를 순차적으로 할당받습니다. 컨테이너를 생성한 후 ifconfig로 확인하면 아래와 같이 ip가 할당된 것을 확인할 수 있습니다. 현재와 같은 상황이면 외부에서 접근할 수 없습니다. 외부에 컨테이너의 어플리케이션을 노출시키려면 et0의 ip와 포트를 host의 ip와 포트를 바인딩 시켜야 합니다. docker run -i -t -p 80:80 --name externalContainer ubuntu:14.04 -p 호스트의 포트 : 컨테이너의 포트 호스트의 특정 IP를 사용할 수도 있다. 192.168.0.100:7777:80과 같이 사용할 수 있다. apache는 일반적으로 80번 포..
2020.01.22 -
docker 컨테이너 사용해보기
docker 컨테이너 사용해보기 docker run -i -t ubuntu:14.04 docker run을 통해 이미지를 실행할 수 있으며 이미지가 깔려있지 않으면 자동으로 docker hub에서 찾아서 이미지를 다운 받은 후 container로 실행시킵니다. 옵션 -i : 상호 입출력 가능하게 한다. -t : tty를 활성화해서 배시 셸을 사용하도록 컨테이너를 설정한다. 위 사진을 보면 ubuntu 이미지를 찾아서 pull 받은 다음 두 옵션 사용으로 인해 ubuntu 셸로 바로 접근했습니다. 저 셸 환경에서 빠져나오고 싶으면 exit 및 ctrl + D을 쳐주면 종료하며 빠져나올 수 있습니다. 그런데 만약 종료하지 않고 빠져나오고 싶으면 ctrl + P, Q를 입력하면 됩니다. 이번에는 centos7..
2020.01.21