본문 바로가기

docker

(23)
12. [docker] drain 운영중인 Docker Host나 Docker데몬에 유지보수를 위한 점검을 진행 할 경우 속해있는 task를 다른node로 이전 작업 후 진행 해야한다. 점검 대상 노드를 drain 상태로 변경 후 원복하는 작업을 진행한다. ## nginx_test2라는 서비스에 아래와 같이 task가 3개의 node에 할당 되어져있다. [root@docker1 bin]# docker service ps nginx_test2 ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS rtl4atm0aeey nginx_test2.1 nginx:latest docker1 Running Running 29 seconds ago u2epfwd3ygea nginx_test2.2 ngi..
11. [docker] docker 명령어 모음 1. docker가 사용중인 디스크 자원 사용량 [root@docker2 ~]# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 1 0 132.5 MB 132.5 MB (100%) Containers 0 0 0 B 0 B Local Volumes 0 0 0 B 0 B 2. docker 이벤트 ## 실시간 이벤트 [root@docker2 ~]# docker system events 3. 모든 이미지 or 컨테이너 삭제 ## 모든 컨테이너 [root@Docker-Worker2 ~]# docker rm `docker ps -a -q` ## 모든 이미지 [root@Docker-Worker2 ~]# docker rmi `docker images -a -q`..
9. [docker] Update(Rolling) & Rollback Docker 공식 문서 참조 : https://docs.docker.com/engine/reference/commandline/service_update/ 1. 컨테이너 update - 배포와 같이 이미지 빌드를 통한 Registry에 새로운 버전이 올라올경우 운영에 update하는 작업 ## nginx:latest -> nginx:1.13 버전으로 업데이트 ## 참고 docker.io 에 nginx 검색 [root@docker1 bin]# docker search nginx:1.13 INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/999lhh/nginx nginx:1.13 0 [OK] docker.io docker.io/huxiz..
8. [docker] swarm : service create 1. Nginx Service 올려보기 ## Nginx 이미지를 이용하여 서비스 생성 ## 80포트를 연결하고 이름을 nginx_test로 생성 [root@docker1 bin]# docker service create -p 80:80 --name nginx_test nginx lojirqir4tjvy370y2fpevrec ## 서비스 확인 ## 서비스가 생성되었고 REPLICAS 항목이 0/1로 현재 replica는 1개이고 active 0개 라는 의미 [root@docker1 bin]# docker service ls ID NAME MODE REPLICAS IMAGE lojirqir4tjv nginx_test replicated 0/1 nginx:latest ## 이미지확인 ## 이미지가 없으며 아직..
7. [docker] Orchestration (Docker Swarm) 구축 : Manager, Worker Node 구성 1. 테스트 구성 - VM 3대를 이용하여 Manager + Worker Node 를 동일 구성 ## docker1, docker2 docker3 의 호스트네임으로 3대 구성 [root@docker1 bin]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.6.134 docker1.plo.plo docker1 192.168.6.135 docker2.plo.plo docker2 192.168.6.136 docker3.plo.plo docker3 ## ..
5. [docker] container run 1. Image를 이용한 container 실행 ## nginx:latest 이미지를 이용하여 포트 호스트:8070 -> 도커:80 으로 포워드 설정으로 컨테이너 생성 [root@docker]# docker run -p 8070:80 nginx:latest /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default...
4. [docker] container, image 삭제 1. 이미지 삭제 순서 : 컨테이너삭제 → 이미지 삭제 ## 이미지 삭제 : docker rmi ## 지우려는 이미지로 실행되어진 컨테이너가 있을경우 이미지 삭제는 진행되지 않음 [root@docker]# docker rmi nginx:add_plo Error response from daemon: conflict: unable to remove repository reference "nginx:add_plo" (must force) - container b92a93ef0cde is using its referenced image 1ce4194fd0ba ## 지우려는 이미지로 실행되어진 컨테이너 검색 [root@docker]# docker ps -a CONTAINER ID IMAGE COMMAND CRE..
3. [docker] dockerfile build 1. 컨테이너를 commit 하여 이미지를 생성하는 방법과 더불어 dockerfile을 이용하여 이미지를 생성할 수 있다. ## Dockerfile 생성.(이름은 꼭 Dockerfile 이어야한다.) ## FROM : 원본 이미지 ## RUN : 원본이미지에 실행할 작업 [root@docker_test]# cat Dockerfile FROM centos:latest RUN yum update -y ## 생성한 Dockerfile을 가지고 build 해본다 [root@docker_test]# docker build -t centos:test . Sending build context to Docker daemon 2.048kB Step 1/2 : FROM centos:latest ---> 831691599..
2. [docker] images commit 1. 컨테이너 실행 [root@docker]# docker run -it nginx:latest bash 2. 컨테이너 Inspect ## 다른 터미널을 열어 현재 실행 중인 컨테이너 목록을 확인한다. [root@docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 40ca2c420d22 nginx:latest "/docker-entrypoint.…" 14 seconds ago Up 13 seconds 80/tcp xenodochial_rubin ## 현재실행중인 nginx 컨테이너의 정보 출력 [root@OPENLDAP-TEST ~]# docker inspect xenodochial_rubin [ { "Id": "40ca2..
1. [docker] images 1. 기본 Registry - Registry: https://index.docker.io/v1/ ## docker 이미지를 내려받는 기본 주소는 아래와 같이 ## Registry: https://index.docker.io/v1/ ## 이는 도커 허브의 기본 주소로 지정 [root@docker]# docker info Client: Debug Mode: false Server: Containers: 3 Running: 0 Paused: 0 Stopped: 3 Images: 1 Server Version: 19.03.12 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true Loggin..