3 minute read

일지

휴 드디어 지옥같았던 4월이 끝났다

굿-배드-굿-굿-배드 였는데
과연 다음엔 굿일까 배드일까

휴일이다
열심히하자

목금 이틀동안 도커조져야지

주요 키워드

Docker Command

오늘의 할일

  • 220504 TIL 작성
  • Docker 복습
  • 정보공유 스터디

공부 정리

Docker 명령어

  • 도커 파일 복사
    • 컨테이너 -> 호스트
      • docker container cp 컨테이너명:PATH 호스트 PATH
    • 호스트 -> 컨테이너
      • docker container cp 호스트_PATH 컨테이너명:PATH
  • 컨테이너 파일 변경 현황
    • docker diff 컨테이너명
  • 도커 볼륨
    • bind-mount
      • docker run [옵션] -v 호스트_PATH:컨테이너_PATH 컨테이너명
    • volume 생성
      • docker volume create 볼륨명
      • ls /var/lib/docker/volume/볼륨명/_data
    • volume 마운트
      • docker run [옵션] 볼륨명:컨테이너_PATH 컨테이너명
    • volume 리스트 확인
      • docker volume ls

실습 진행사항

실습

도커 설치 상태로 스냅샷
centos httpd ubuntu mysql:5.7 이미지 다운로드
docker pull centos:7
docker pull httpd
docker pull ubuntu
docker pull mysql:5.7

이미지 httpd ubuntu 백업해볼 것
httpd ubuntu 이미지 삭제 후에 백업파일 해제
   63  docker save -o t.tar httpd:latest ubuntu:latest
   64  docker image rm httpd:latest ubuntu:latest
   65  docker images
   66  docker load -i t.tar
   67  docker images

centos httpd ubuntu mysql:5.7 이미지로 컨테이너 실행(os 컨테이너는 백그라운드로 실행만 되도록 하시오.)
컨테이너명 os1 web1 web2 os2 mydb 순으로 컨테이너 실행
컨테이너 리스트 확인
   68  docker run -itd --name os1 centos:7
   69  docker run -d --name web1 httpd:latest
   70  docker run -d --name web2 httpd:latest
   71  docker run -itd --name os2 ubuntu:latest
   72  docker run -d --name mydb mysql:5.7
   73  docker ps -a
   74  docker run -d --name mydb1 -e MYSQL_ROOT_PASSWORD=dkagh1. mysql:5.7
   75  docker ps -a

os1 컨테이너 종료 및 실행
   76  docker stop os1
   77  docker ps -a
   78  docker start os1
   79  docker ps -a

web1, web2 IP 주소 확인
   80  docker inspect web1 | grep IPA
   81  docker inspect web2 | grep IPA

mydb WorkingDir 위치 확인
   82  docker inspect mydb1 | grep -A 4 WorkingDir

mydb 컨테이너 삭제
   83  docker rm -f mydb*
   84  docker rm  mydb
   85  docker rm mydb1
   86  docker rm -f mydb1
       docker ps -a

ubuntu 이미지로 os3 컨테이너 실행( cpu 사용률 : 40%로 제한, 메모리 : 512m 으로 제한)
   87  docker run -itd --name os3 --memory 512m --cpus 0.4 ubuntu:latest
   88  docker stats --no-stream

os3 컨테이너 리소스 수정 (메모리 : 1024m)
   89  docker update --memory 1024m os3
   90  docker stats --no-stream

web1로 시작하는 위치를 분리모드로 출력해보시오.
   91  docker exec web1 pwd
os1에 재접속해보시오. 
   92  docker exec -it os1 bash

------------------------------------------------------------------------------------

볼륨 실습

모든 컨테이너 삭제

docker rm -f $(docker ps -qa)

호스트 디렉토리에

httpd 이미지로 web1, web2, web3, web4 컨테이너 생성
web1 : curl ip주소 실행시 => "docker cp test" 메세지 출력      - cp 명령어 이용

web2 : curl ip주소 실행시 => "docker bind mount test" 메세지 출력   - bind mount 이용

web3 : curl ip주소 실행시 => "docker volume test" 메세지 출력 되도록  - docker volume 이용

web4 : curl ip주소 실행시 => "docker volume test" 메세지 출력 되도록  - docker volume 이용(docker volume create

  253  echo  docker cp test> test
  256  mkdir web_dir
  257  echo  docker bind mount test> web_dir/index.html
  258  docker volume rm vol1 vol2 vol3 vol4
  259  docker volume create vol1
  260  echo docker volume test1 /var/lib/docker/volumes/vol1/_data/index.html
  261  echo docker volume test2 > /var/lib/docker/volumes/vol1/_data/index.html
  263  docker run -d --name web1 httpd:latest
  264  docker cp /root/test web1:/usr/local/apache2/htdocs/index.html
  265  docker run -d --name web2 -v /root/web_dir/:/usr/local/apache2/htdocs/ httpd:latest
  266  docker run -d --name web3 -v vol2:/usr/local/apache2/htdocs/ httpd:latest
  267  docker run -d --name web4 -v vol1:/usr/local/apache2/htdocs/ httpd:latest
  268  echo docker volume test1 > /var/lib/docker/volumes/vol2/_data/index.html
  270  docker inspect web1 | grep IPA
  271  docker inspect web2 | grep IPA
  272  docker inspect web3 | grep IPA
  273  docker inspect web4 | grep IPA
  275  curl 172.17.0.2
  276  curl 172.17.0.3
  277  curl 172.17.0.4
  278  curl 172.17.0.5확인하되 실시간이 아니도록 하시오.

  226  docker stats --no-stream

ubuntu에 분리모드로 접속해서 /var/log/의 내용을 보도록 하시오.

  227  docker exec -it os1 bash
  # ls /var/log
  or
  docker exec os1 ls /var/log

web3 컨테이너를 생성
web3 의 웹페이지 내용 확인
curl web3의 IP주소

  228  docker run -d --name web3 httpd:latest
  229  docker inspect web3 | grep IPA
  230  curl 172.17.0.8

Categories:

Updated:

Leave a comment