도커 설치
터미널을 열어서

ping 8.8.8.8 친다 8.8.8.8 이 뭐냐? 구글의 DNS서버이다 외부로 통신이 되는가 확인하기 위함이다.
DNS에 대한 설명은 네트워크에서 한다.
yum install -y yum-utils

yum-config-manager --add-repo download.docker.com/linux/centos/docker-ce.repo

도커 파일을 받기위함 위 와 같은 화면이 나온다.
다 받았으면
yum install -y docker-ce
도커를 설치해준다.


systemctl status docker 하면
도커의상태가 꺼져있다.
systemctl start docker 도커를 켜주도록 하자

systemctl status docker 하면 running 상태가 되었음을 보여준다.

wget get.docker.com
##도커 엔진
도커 엔진에서 사용되는 기본단위는 이미지와 컨테이너 이다.
이것들은 도커 엔진의 핵심이다.
#도커 컨테이너 생성
도커를 사용하기전에 앞서 도커 엔진의 버전 확인
docker -v //도커 버전 확인

docker run -i -t ubuntu:14.04 //도커 컨테이너 생성

-i 옵션은 컨테이너와 상호 입출력을 가능하게 하고 -t옵션은 tty를 활성화해서 bash 쉘을
사용한다. run은 도커생성과 동시에 실행하여 도커 내부에 진입한다.
exit 는 종료하고 빠져나온다
도커의 현재상태 , id 확인
#docker ps -a
#docker attach 컨테이너 id //토커 접근 exit 하면 안됨
#docker images // 도커 이미지 확인


docker attach 컨테이너 id 했는데 접속이 안됐다.
이유는 exit 하면 동시에 컨테이너도 같이 꺼져버리기 때문이다.
ctl+shift+p 하고 바로 ctl+shift+q 누르면 종료없이 빠져나올 수 있다.
그전에

터미널 기본설정에 들어가서 바로가기 사용을 꺼주도록 한다
그래야 ctl+shift+p ctl+shift+q 엉뚱한 기능이 안켜지고 사용할 수 있다.
docker start id(이름) 하면 id가 뜨면서 켜진다.
docker attach id 하면 접속이 된다.

ctl+shift+p ,q 연타하면 아래 와 같은 결과가 나오면서 컨테이너에 빠져나올 수 있다.

docker ps -a //컨테이너의 정보를 확인

도커 이미지 확인 // 우분투가 상대적으로 가벼워서 부하가 덜 걸린다.

docker rm id // 도커 컨테이너 삭제

그런데 삭제가 안된다
이유는 ? 컨테이너의 상태가 up 되어있으면 삭제할 수 없다.
docker stop 컨테이너 id
다시
docker rm 컨테이너 id

컨테이너 id 가 뜨면서 삭제되었다.
## 컨테이너의 외부노출
기본적으로 도커는 컨테이너에 nat로 172.17.0.x 의 ip를 순차적으로 할당한다.
아무런 설정을 하지아 않았다면 이 컨테이너는 외부에 접근할 수 없으며
도커가 설치된 호스트에서만 접근할수 있다. 외부와 통신하려면 eth0 ip와
포트를 호스트의 ip와 포트에 바인딩 시켜야한다.
docker run -i -t --name mywebserver -p 80:80 ubuntu:14.04
80:80 포트넘버:도커가 쓸 포트넘버
mywebserver 라는 이름을 가진 컨테이너가 생성되었다

doker attach mywebserver 로 입장해서
apt-get install apache2 // 아파치 서버 설치
아파치란? 리눅스에서 하게 될텐데 웹서버 이다.

service apache2 start // 아파치 시작

컨테이너의 ip 확인

앞서 말했듯이 컨테이너에 nat로 172.17.0.x 의 ip를 순차적으로 할당했다.
mywebserver -p 80:80 로 외부와 통신하려면 eth0 ip와
포트를 호스트의 ip와 포트에 바인딩 시켰다.
이제 host pc 에서 아파치 서버로 접속할려면 centos 7 의 ip를 알아야한다.
컨테이너에서 나가서
ifconfig //ip 확인

10.10.10.129 의 아이피다 웹브라우저에 10.10.10.129를 쳐보자
결과

정상적으로 동작함을 알 수 있다.