일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Microsoft 365
- 리눅스마스터1급
- windows
- 네트워크
- windows server
- 가상화
- It
- Docker
- 클라우드
- 시스템 엔지니어
- 컴퓨터
- Entra ID
- Microsoft
- Azure AD
- 메일보안
- 시트릭스
- 시스템엔지니어
- SE
- aws
- 리눅스
- 클라우드엔지니어
- Linux
- 그룹정책
- Azure
- Microsoft Azure
- Exchange Online
- Server
- cloud
- cloud engineer
- network
- Today
- Total
Cloud System Engineer
도커 설치 본문
터미널을 열어서
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 |