태그명 지정 시, 해당 버전으로 다운로드 받음 (docker pull nginx:1.14)
docker images
--no-turunc : IMAGE ID 전체 노출
docker inspect [옵션] <이미지이름:태그명>
docker rmi [옵션] <이미지이름>
컨테이너 실행 및 운영하기
docker create [옵션] <이미지이름:태그명> : 컨테이너 이미지가 컨테이너화 되어 컨테이너가 만들어짐
--name [컨테이너명] : 컨테이너명에 이름을 지정함.
docker ps : running중인 컨테이너만 확인 가능
-a : all, 모든 컨테이너 확인하기
docker start [컨테이너명] : container running 상태로 변경
docker inspect [컨테이너명] : 컨테이너 세부정보 확인 ( 컨테이너 리소스, IP, 속도, volume mount 등)
--format '{{값}}' : 상세 내용 중 특정 값 출력
alias cip="docker inspect --format '{{.NetworkSettings.IPAddress}}'" : cip 으로 명령어 단축
curl ip : 서버와 통신하는 명령어 툴
curl $(cip webserver) 으로 사용하면 됨.
컨테이너 종료하기
docker logs [옵션] [컨테이너명]
컨테이너 기록 확인하기
-f : 실시간으로 추가되는 것을 확인할 수 있음
docker top [컨테이너 명] : 컨테이너에서 실행중인 프로세스 출력
2개의 프로세스가 실행되고 있음
docker exec webserver /bin/bash : exec를 통해 컨테이너에 직접 접속하여 배시 쉘 사용.
-it : i (interactive), t(terminal)
현재 동작중인 nginx webserver
nginx 내용 확인
내용 수정 후 저장
docker stop 컨테이너명 : 동작중인 컨테이너 중지
이 상태에서 다시 start 하는 경우, 이전에 수정한 페이지가 노출됨
docker rm 컨테이너명 : 컨테이너 삭제
running중인 컨테이너는 삭제할 수 없음. running중인 컨테이너를 삭제하려고 하면, -f 옵션을 사용해야 함.
문제 풀이
1. 아파치 웹서버 컨테이너 이미지를 검색한 후 다운로드 하세요. (search, create)
2. 다운로드한 아파치 웹서버를 백그라운드 실행(detach), 컨테이너 이름: web으로 동작 시키세요(run)
3. 동작중인 컨테이너 목록을 확인해서 web 컨테이너가 running 중인지 확인하세요(ps)
4. 실행중인 web 컨테이너의 ip Adress를 확인하세요(inspect)
5. curl 명령으로 접속시도해 보세요. 어떤 웹페이지가 표시되나요?
6. web 컨테이너가 만들어내는 로그를 출력하세요.
7. 다운로드 된 컨테이너 이미지를 삭제하세요.
아파치 웹서버 컨테이너 이미지를 검색한 후 다운로드 하세요. (search, create)
다운로드한 아파치 웹서버를 백그라운드 실행(detach), 컨테이너 이름: web으로 동작 시키세요(run)
동작중인 컨테이너 목록을 확인해서 web 컨테이너가 running 중인지 확인하세요(ps)