Cloud System Engineer

도커 설치 본문

리눅스/docker

도커 설치

클라우드 엔지니어 2021. 1. 26. 23:41

터미널을 열어서

 

 

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를 쳐보자

 

 

결과

 

 

 

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

'리눅스 > docker' 카테고리의 다른 글

MAC VLAN 네트워크  (0) 2021.01.29
도커 네트워크  (0) 2021.01.29
도커 볼륨  (0) 2021.01.29
도커에 워드프레스를??  (0) 2021.01.29
가상화 개념  (1) 2021.01.26