이미지 vs 컨테이너
프로그램 vs 프로세스
클래스 vs 인스턴스
jeeyeon116 / guestbook : 1.21
사용자 / 이미지명 : 이미지태그(버전)
허브에서 받을 땐 사용자 입력 필요, 이미지태그 미입력 시 최근 버전이 기본값
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2", -> 이거로 접속 가능
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DriverOpts": null
1.Docker 컨테이너 생성
docker create nginx
2.Docker 컨테이너 실행
docker start {컨테이너ID}
2.Docker 컨테이너 삭제
docker rm {컨테이너ID}
3.Docker 컨테이너 모두 정지, 삭제
docker stop $(docker ps -a -q)
docker rm 'docker ps -a -q'
4.Docker 컨테이너 접속(exec)
docker exec -it [CONTAINER ID]
컨트롤 p+q 눌러서 컨트롤러를 끄지 않고 나갈 수 있음.
1.Docker 이미지 다운로드
docker pull nginx
docker run -it -d --rm -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 --name myDB mariadb - docker run --name myoracle -d -p 8080:8080 -p 1521:1521 jaspeen/oracle-xe-11g
2.Docker 이미지 삭제
docker rmi {이미지ID}
docker rmi $(docker images -q)
1.Docker 실행
sudo service docker start(stop/restart)
sudo systemctl start(stop/restart) docker
#옵션 설명
-d detached mode 흔히 말하는 백그라운드 모드
-p 호스트와 컨테이너의 포트 설정
-v 호스트와 컨테이너의 디렉토리를 연결 (마운트)
-e 컨테이너 내에서 사용할 환경변수 설정
–name 컨테이너 이름 설정
–rm 프로세스 종료시 컨테이너 자동 제거
-it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
–link 컨테이너 연결 [컨테이너명:별칭]
2.Docker 상태보기
sudo service docker status
---------------------------------------------------------------------------------------------------------
1.id 및 ip확인하기
docker exec -it 아이디 bash
apt update
apt install utils
apt install inputils
apt install iproute2
apt install route2
ip a -> ip 확인 가능해짐
apt install openjdk-8-jdk ->jdk 설치 -> 나라 설정 : 아시아/서울
docker run --name=guestbookapp
--rm -p 80:8080
-e MYSQL_IP=172.25.214.106 // DB동작 Ip주소
-e MYSQL_PORT=3306
-e MYSQL_DATABASE=guestbook
jeeyeon116/guestbook:2.0 //본인이 생성한 이미지 이름