본문 바로가기

Docker cleaning with prune 운영 서버에서 docker 를 사용하다 보면 사용하지 않는 image 및 container 등이 늘어나 디스크 공간을 차지하기 마련이다. 그래서 아래의 명령을 cron 으로 스케줄링하여 무쓸모 image 및 container 는 삭제하는 것이 좋다. (참고로 AWS ECS 에서는 ECS 컨테이너 에이전트가 컨테이너 인스턴스에서 사용하지 않은 이미지/컨테이너 등을 자동으로 정리해 준다. 오홍~)$ docker rm $(docker ps -a)$ docker rmi $(docker images -a)하지만 로컬 호스트의 경우 운영 서버와는 다르게 각종 이미지들이 쌓여 있을 것이고 지워야 할 것들과 지우지 말아야 할 것들을 구분해야 한다. 위 명령으로 실행중이지 않은 모든 이미지와 컨테이너를 삭제해도 큰 문제..
Docker Hub Docker Hub 는 Docker사가 운영하는 공개 저장소이며, 다른 사람들과 이미지를 공유할 수 있다.또한 공유하고 싶지 않은 이미지를 저장할 수 있는 개인 저장소도 제공한다.그리고 개인 저장소는 조직을 구성하여 그 구성원에게만 공유할 수도 있다.Docker Hub 와 관련된 명령어는 pull, login, push 이다.Docker Hub 사이트에서 가입하거나 login 명령을 사용하여 계정을 생성하면 서비스를 이용할 수 있다.# docker loginUsername: ggamzzakPassword:Email: ggamzzak@gmail.comWARNING: login credentials saved in ~/.docker/config.jsonAccount created. Please use the..
Build your own images 나만의 Image 만들기docker run 시 Docker 는 Docker 호스트에서 이미지를 다운받아 저장한다.Docker 호스트에 이미지가 없을 때는 기본적으로 Docker Hub 저장소에서 다운받는다.이 다운로드 받은 이미지의 설정을 변경하고 어플리케이션을 추가하고 새 이미지로 생성하여 Docker Hub 저장소에 올릴 수 있다.docker search 명령을 사용하거나 Docker Hub 사이트에서 다른 사람들이 올린 이미지를 검색할 수 있다.# docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATEDubuntu Ubuntu is a Debian-based Linux operating s... 3108 [OK]ubuntu-upstart Ups..
Create a base image Docker Hub 에서 제공하는 이미지를 사용하지 않고 새로운 베이스 이미지 제작하기.두가지 방법이 있다.- debootstrap 과 docker import 를 사용하는 방법- scratch 을 베이스 이미지로 docker build 하는 방법1. debootstrap 사용debootstrap 은 현재 시스템에 또 다른 Debian 기반의 시스템을 설치할 수 있는 툴이다.debootstrap 를 사용하여 서브디렉토리에 ubuntu 를 하나 더 설치하고 이미지로 만들 것이다.# apt-get install debootstrap# debootstrap trusty ubuntu1404csubuntu1404 디렉토리에 Ubuntu 14.04 버전인 trusty 의 바이너리 파일이 생성되었다.docker im..
Dockerfile # Firefox over VNC## VERSION 0.3 FROM ubuntu # Install vnc, xvfb in order to create a 'fake' display and firefoxRUN apt-get update && apt-get install -y x11vnc xvfb firefoxRUN mkdir ~/.vnc# Setup a passwordRUN x11vnc -storepasswd 1234 ~/.vnc/passwd# Autostart firefox (might not be the best way, but it does the trick)RUN bash -c 'echo "firefox" >> /.bashrc' EXPOSE 5900CMD ["x11vnc", "-forever", "..
docker run 이제 Docker 데몬을 올려 놓았다고 가정한다.docker info 명령으로 현재 Docker 의 컨테이너 수, 이미지 수, Docker 버전, ROOT Dir, ... 등의 정보를 확인할 수 있다.$ docker info Containers: 2Images: 2Server Version: 1.9.1Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 6 Dirperm1 Supported: falseExecution Driver: native-0.2Logging Driver: json-fileKernel Version: 3.13.0-74-genericOperating System: Ubuntu 14.04.3..
WARNING: No swap limit support docker 설치 후 docker info 를 확인하자 마자 보이는 경고.WARNING: No swap limit support에러를 안나타나게 하려면, 시스템에서 cgroup 에 메모리와 스왑 메모리 관리를 사용할 수 있게 하면 된다.메모리와 스왑 메모리를 사용 가능하게 하면 Docker 를 사용하지 않을 때도 메모리 오버헤드(약 1%), 성능 저하(약 10%)를 유발한다.GNU GRUB(GRand Unified Bootloader)을 수정하여 cgroup 에 메모리와 스왑메모리를 가능하게 할 수 있다.# vi /etc/default/grubGRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"변경된 GRUB 을 적용하고 재부팅한다.# update-grubG..
Install on Ubuntu Docker 는 거의 모든 리눅스 배포판에서 사용 가능하다.Docker 를 설치할 수 있는 Ubuntu 배포판이다.- Ubuntu Wily 15.10- Ubuntu Vivid 15.04- Ubuntu Trusty 14.04 (LTS)- Ubuntu Precise 12.04 (LTS)요구사항- Ubuntu 버전과 상관없이 Docker 64-bit 를 설치.- 커널 버전 3.10 이상 (uname -r 체크)APT 저장소 업데이트- 현재 apt 저장소에서 docker-engine 을 사용하기 위해 APT 저장소를 업데이트 한다.gpg(Gnu Private Guard) key 추가# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-key..