Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

클라우드 엔지니어 꿈나무

따배도 Docker 컨테이너를 사용하기 본문

container

따배도 Docker 컨테이너를 사용하기

새싹싹이 2023. 10. 19. 19:34

# docker pull mysql

# docker insepct mysql 

mysql version 이 8.1.0 인 것을 볼 수 있음

# docker pull mysql:8.1.0

# docker images

tag가 8.1.0 그리고 latest인 mysql 각각 존재하나 ID는 같은 것을 확인 할 수 있음 => 같은 이미지

# docker images --no-trunc => docker id를 풀네임으로 보여줌

# docker create --name webserver nginx:1.14 => latest 아니면 버전 기입 필수, create는 백그라운드로 실행(running은 아님)

# docker start webserver

# docker ps

# docker inspect webserver 

IP 같은 정보 확인 가능

# docker inspect --format '{{.NetworkSettings.IPAddress}}' webserver => 원하는 정보만 확인 가능, 대소문자 구분

   docker inspect --format '{{.}} 컨테이너명 => .으로 구분

# alias cip="docker inspect --format '{{.NetworkSettings.IPAddress}}' webserver" => 자주 사용한다면 alias 등록

# alias

# cip webserver

# curl 172.17.0.3

실행이 제대로 되고 있는 것을 확인할 수 있음

# docker logs webserver

# curl 172.17.0.3/b.html

# curl 172.17.0.3

# docker logs -f webserver => -실시간 docker 로그 확인 가능

curl 172.17.0.3/b.html 부분에서 b.html 이 없기 때문에 404 오류가 뜬 것도 확인할 수 있음

# docker top webserver

PID : Process ID

PPID : 부모 process ID

STIME : CPU 사용량에 대해서 실행된 시간

TTY : 사용중인 터미널

TIME : 현재 CPU 사용 총 누적 시간

COMMAND

 

# docker exec -it webserver /bin/bash => -i : interactive / t = terminal

root@efbfb2ed5ac0:/# cd /usr/share/nginx/html/
root@efbfb2ed5ac0:/usr/share/nginx/html# ls

root@efbfb2ed5ac0:/usr/share/nginx/html# echo "KANG's HOMEPAGE" > index.html
root@efbfb2ed5ac0:/usr/share/nginx/html# exit

# curl 172.17.0.3

# docker stop webserver

# docker ps -a

# docker start webserver

# docker rm -f webserver (= docker stop webserver + docker rm webserver)

 

<문제 풀이>

1. 아파치 웹서버 컨테이너 이미지를 검색한 후, 다운로드 (search, create)

   # docker search httpd

   # docker pull httpd

2. 다운로드한 아파지 웹서버를 백그라운드 실행(detach), 컨테이너 이름: web 으로 동작(run)

  # docker run -itd --name web httpd

3. 동작 중인 컨테이너 목록을 확인해서 web 컨테이너가 rugging중인지 확인 (ps)

  # docker ps

4. 실행중인 web 컨테이너의 IP Address를 확인 (inspect)

  # docker inspect web

  # docker inspect --format '{{.NetworkSettings.IPAddress}}' web

5. curl 명령으로 접속 시도. 어딴 웹표이지가 표시되는가?

   # curl 172.17.0.2

6. web 컨테이너가 만들어내는 로그 출력

   # docker logs web

7. 실행 중인 모든 컨테이너 중지하고 삭제

  # docker rm -f $(docker ps -aq)

8. 다운로드 된 컨테이너 이미지 삭제

# docker rmi httpd:latest

 

 

<<참고>>

https://youtu.be/wrx-ixvtzxk?si=pupbjG4g2dbVi72U