일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- RSS
- 쿠버네티스
- k8s
- DOIK
- 초간단파이썬
- 도커
- WEB
- springboot
- multivm
- Strimzi
- java
- devops #jenkins
- container
- Kubernetes
- devops #engineer
- namespace
- python
- httpd실행
- bash
- Engineer
- linux
- variable
- 파이썬
- nginx
- aws #engineer
- Vagrant
- mongodb operator
- 컨테이너
- docker
- ioredirection
- Today
- Total
목록Container/Docker (9)
샤인의 IT (막 적는) 메모장
실제 Docker in Docker로 이미지 빌드하는 서버가 있었는데 빌드가 많이 일어나는 서버다 보니 스토리지 사용량이 점점 늘어나는 상태였음.. (이미지도 사이즈가 너무 커서 2G정도 됬었음) 따라 필요없는 오브젝트들을 정리하여 사용함 #도커 설치 경로에 따라 관리 /user/docker #도커 컨테이너 확인 docker images docker ps (-a) #레이어 정보 확인 시 docker inspect #컨테이너 접속이 필요할 경우 docker exec -it 138gjfksl /bin/sh .. #스토리지 확인 /user/docker/volume /user/docker/overlay2 #사용하지 않는 오브젝트 정리 시 docker volume prune docker system prune 끝
도커를 설치하게 되면 자동으로 Network Driver가 설치된다. 여러가지 네트워크 옵션을 사용할 수 있는데 Host Network, Bridge, Macvlan, UDN(User Defined Network) 등등 사용 가능하다. 대세는 역시 SDN.. Network 명령어 정리 #--net=network-option Flag를 추가하여 사용한다. --net=host --net=bridge --net=macvlan #UDN(서브넷,게이트웨이,네트워크 드라이버 보조 IP) --subnet=subnet --gateway=gateway --aux-address 1=address1 --aux-address 2=address2 #Ex default option은 bridge 모드다. docker run -d..
컨테이너는 일시적, 일회성으로 사용한다. (Stateless) 즉, 상태가 유지되지 않기 때문에 컨테이너가 종료되면 사라진다. 따라서 컨테이너를 볼륨을 통해 데이터를 저장해야 한다. Docker Storage 연결 #Docker Host 볼륨 공유 #-v Host-dir:/Container-dir #ex docker run -d --name web nginx:latest -v /root/data:/usr/share/nginx/html -p 80:80 따로 데이터만 저장하는 컨테이너를 생성한 후 Volume을 붙여서 저장공간으로만 활용도 가능하다 alpine Linux에 볼륨으로 웹서버 볼륨을 붙이는 경우? 따로 run 명령어로 바로 생성하지 않고 볼륨을 먼저 생성한 후 적용도 가능하다. 앞 예제에서 /r..
도커에서 이미지를 생성하기 위해 Dockerfile로도 작성이 가능하다. build 명령어를 통해서 Dockerfile을 생성하는데 디렉토리를 생성한 후 Build를 수행하는 것이 좋다. Docker build -t : . Dockerfile 정리 #받아올 이미지 FROM IMAGE:TAG #작성자 작성 MAINTAINER NAME #환경변수 설정 ENV user=sshine #HOST 볼륨 지정 VOLUME /mydata #컨테이너 내 명령어를 수행한다. RUN Shell Command #COPY는 파일 복사, ADD는 Archive와 같이 압축파일을 풀어서 컨테이너로 전달 COPY Hostfile-path Container-path ADD Hostfile-path Container-path #Shel..
도커 저장소는 보통 Docker Hub를 사용하는데 폐쇄망에서 이미지 레포지토리를 구성해야하는 경우엔 어떤 방법을 사용해야 할까요? 도커에서 해당 이미지들을 보관하기 위해 Docker-registry를 사용합니다. 물론 지금 글을 적는 이 시점에서 Docker-registry도 많이 사용하진 않지만 (안타까운 Docker...) 항상 Docker를 구성할 때 나오는 얘기였습니다. (요샌 대부분 Harbor 씁니다) 그럼 Docker Registry를 설치하고 사용해보겠습니다. 레지스트리는 컨테이너로 올라가게되며 Port를 설정한 후 로그인을 하게 됩니다. docker run -d -p 5000:5000 --restart always --name registry registry:2 #Default ID/P..
도커 이미지 및 가동된 컨테이너를 tar 파일로 만드는 법에 대해 알아보겠습니다. 보통 실무에서는 해당 이미지를 빌드해서 tar 파일로 압축해서 해당 서버에 올리는 작업을 수행합니다. 이미지를 압축하는 방법은 두가지로 분류되는데 이미지 실행중인 컨테이너 두가지를 압축할 수 있습니다. 압축을 실행하기에 앞서 해당 이미지를 Tagging하는 작업이 우선적으로 필요합니다. 이미지 태깅 #Image Tag docker tag nginx:1.14 nginx:v1 [root@docker docker]# docker tag nginx:1.14 nginx:v1 [root@docker docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx 1.14 295c7..
도커는 컨테이너를 올리거나 분리하는 등의 작업이 굉장히 쉬운 편입니다. 먼저 도커를 이해하는데 필요한 이미지와 컨테이너에 대해 알아봅시다. 이미지 도커 이미지는 도커에서 읽기 전용 템플릿으로 컨테이너와 관련된 인스턴스를 저장한 파일입니다. 하나의 컨테이너가 올라가기 위해 단일 이미지 혹은 여러 이미지로 구성되어 있습니다. 이를 Overlay라고 하는데 말 그대로 겹겹이 쌓아 올린다라는 느낌으로 이해하시면 좀 더 편합니다 도커 이미지 확인 #My Docker Image list docker images #Image pull docker pull : #Check my image layer docker inspect #Check Image history docker history 이미지 확인 후 Inspect..
도커를 설치해 보도록 하겠습니다. 설치 환경은 CentOS 7 version에서 해당 설치를 Script로 작성한 후 sh 명령어를 통해 설치합니다. kernel-update.sh #!/bin/bash #CentOS Upgrade yum -y update yum -y install yum-plugin-fastestmirror #Kernel Version Check cat /etc/redhat-release cat /etc/os-release #Repo Update rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum..
도커란 무엇일까요? 도커는 어플리케이션을 개발하고 실행하기 위한 오픈소스 플랫폼으로 인프라로부터 어플리케이션을 분리시켜줄 수 있다고 소개하고 있습니다. 앞장에서 말한 것처럼 도커는 Container를 통하여 어플리케이션을 독립적인 환경으로 제공한다는 것을 알 수 있습니다. 그럼 도커는 어떻게 발전하게 되었을까요? 도커는 없던 기술을 개발해서 만들어낸 플랫폼이 아닙니다. 리눅스 커널의 기능들을 좀 더 쉽게 상용화하여 제공하는 플랫폼으로 발전한 것이 도커입니다. 도커의 근간은 컨테이너며 리눅스 커널 기능 중 chroot, cgroups, namespace 근간을 두고 있습니다. Chroot Chroot는 특정 사용자, 그룹에 특정 환경을 제공하지만 메인 시스템으로는 접근을 방지하는 기능입니다. 예를들어 ss..