출처 : http://www.server-world.info/en/note?os=CentOS_7&p=docker&f=1
0. 사전 설치
CentOS 7 minimal 설치 및 준비
필요 PKG 설치 및 업데이트
# yum install -y ntp wget; yum update -y
# systemctl enable ntpd; systemctl start ntpd
1. 방화벽 해제 및 SELinux 해제
# systemctl stop firewalld
# systemctl disable firewalld
# vi /etc/sysconfig/selinux
7 SELINUX=disabled
SELinux 는 재시작 해야 풀린다.
# reboot
2. Docker 설치
# yum -y install docker
# systemctl enable docker
# systemctl start docker
host로 사용할 centos 공식 이미지 Container 생성, 환영 문구 입력
# docker run centos /bin/echo "Welcome to the Docker World"
3. Docker 실행
i와 t 옵션을 주어 centos 이미지를 bash 쉘로 docker 실행
(옵션 주지 않으면 들어가지지 않는다. 옵션에 대한 연군 필요)
# docker run -i -t centos /bin/bash
Docker system 의 정보 확인
[root@0cf52e8ba14a /]# uname -a
Linux 0cf52e8ba14a 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
세션 종료
[root@0cf52e8ba14a /]# exit
exit
#
4. Docker 세션 관리
세션 종료 없이 로그아웃 하기 : Ctrl+p, Ctrl+q 차례대로 입력
[root@d4add7d10c96 /]# [root@localhost ~]#
세션 종료 없이 종료한, 즉 docker 의 실행 중인 프로세스 확인
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4add7d10c96 centos:7 "/bin/bash" 4 minutes ago Up 4 minutes thirsty_bartik
다시 해당 세션으로 붙기 (Container ID 필요)
# docker attach d4add7d10c96
세션 연결되어 있는, 실행 되어 있는 컨테이너 shutdown
# docker kill d4add7d10c96
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5. 이미지 관리
존재하는 이미지 보기
# docker images
centos 이미지에게 직접 명령어 실행
# docker run centos /bin/bash -c "yum -y update; yum -y install httpd"
내가 최근에 쳤던 명령어가 작동 했다는 것 확인
# docker ps -a | head -2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b0eef33afa44 centos:7 "/bin/bash -c 'yum - 2 minutes ago Exited (0) 56 seconds ago thirsty_albattani
지금 상태의 이미지를 새로운 이미지로 저장 - 스냅샷
# docker commit b0eef33afa44 my_image/centos_httpd
48a0f44b93a5a85cee79add36686c6e590463092cb96bf80a5dbc1c156f3d278
새롭게 추가된 이미지가 보인다.
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
my_image/centos_httpd latest 48a0f44b93a5 About a minute ago 478.2 MB
centos 7 8efe422e6104 3 weeks ago 224 MB
centos centos7 8efe422e6104 3 weeks ago 224 MB
centos latest 8efe422e6104 3 weeks ago 224 MB
내가 만든 이미지에 /usr/bin/which httpd 명령어를 실행 한 결과
# docker run my_image/centos_httpd /usr/bin/which httpd
/usr/sbin/httpd
[실습]
내 8081번 포트를 이미지의 80번 포트와 매핑시키면서 이미지에 접근
# docker run -it -p 8081:80 my_image/centos_httpd /bin/bash
[root@d4add7d10c96 /]# /usr/sbin/httpd &
[root@d4add7d10c96 /]# echo "httpd on Docker Container" > /var/www/html/index.html
세션 종료 없이 로그아웃(Ctrl+p, Ctrl+q 차례대로 입력)해서 실행되고 있는 상황 확인
[root@d4add7d10c96 /]# [root@localhost ~]#
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf5e6b508e53 my_image/centos_httpd:latest "/bin/bash" 10 minutes ago Up 10 minutes 0.0.0.0:8081->80/tcp ecstatic_mcclintock
이제 같은 네트워크단에 있는 pc의 웹 브라우저에서 docker server ip:8081 로 들어가면 제대로 사용되고 있는 것을 알 수 있다.
[etc]
1) Ubuntu 14.04 install & Setting
# docker run -t -i ubuntu:14.04 /bin/bash
root@3eaaa23a2e66:/# ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
root@3eaaa23a2e66:/# date
Sat Jan 31 00:43:44 KST 2015
root@3eaaa23a2e66:/# apt-get install ntp -y
root@3eaaa23a2e66:/# service ntp start
* Starting NTP server ntpd
root@3eaaa23a2e66:/# update-rc.d ntp defaults
'Linux > CentOS' 카테고리의 다른 글
CentOS에 ntfs usb 마운트 (0) | 2015.06.05 |
---|---|
Linux GPT 파티션 (0) | 2015.06.04 |
CentOS 를 Windows의 Active Directory에 Join 시키기 (0) | 2015.04.09 |
Samba server - Windows에서 리눅스 공유폴더 사용 (0) | 2015.04.09 |
CentOS 6, 7 Minimal 에 Desktop(GUI 환경) 설치 (0) | 2015.04.09 |
- 2015.01.30
[실전 문제 1]
Server1
ip : 10.10.10.10 / 24
g/w : 10.10.10.254
dns : 127.0.0.1
DNS 역할 추가 : 20.20.20.20 <-> www.samadal.com
Server2
ip : 20.20.20.20 / 24
g/w : 20.20.20.254
dns : 10.10.10.10
C:\itbank 폴더 만들어 공유 설정
Router1 - 시리얼 모듈 1개 추가
en
conf t
int f 0/0 !! Server1 과 연결됨
ip add 10.10.10.254 255.255.255.0
dup auto
no shut
exit
int f 0/1 !! Server2 와 연결됨
ip add 20.20.20.254 255.255.255.0
dup auto
no shut
exit
int s 0/0 !! Router2 와 연결됨
ip add 200.200.200.1 255.255.255.0
no shut
exit
router eigrp 1
no auto
network 10.10.10.0
network 20.20.20.0
network 200.200.200.0
end
Router2 - 시리얼 모듈 1개 추가
en
conf t
int f 0/0 !! Server3과 연결됨
ip add 100.100.100.254 255.255.255.0
dup auto
no shut
exit
int s 0/0 !! Router1 와 연결됨
ip add 200.200.200.2 255.255.255.0
no shut
exit
router eigrp 1
no auto
network 100.100.100.0
network 200.200.200.0
end
DNS 라운드 로빈
server1 과 server2 에 같은 웹 페이지로 서비스 하고 있고, server3에 DNS를 구축하여 라운드로빈을 적용하면
client는 server1 과 server2 에 번갈아 가면서 접속한다. 즉 A 레코드를 1개 추가하는 것 만으로 로드밸런싱 구축 가능.
그러나 DNS 서버는 server1 과 server2의 장애 및 ip 주소 변경을 체크할 수 없다는 단점이 있다.
(But, 실제로는 네트워크 장비단에서 server1 과 server2 로 접속을 돌리는 로드밸런싱을 주로 사용한다. - 고가)
[사용 방법]
DNS 관리자 에서 server1 속성 - 고급 - 라운드 로빈 사용 이 기본 체크 되어있다.
[실습]
역할 추가 : IIS 웹서비스 - ASP.NET - 설치
같은 도메인 주소에 대해 각기 다른 server의 ip를 중복 입력한 뒤 라운드 로빈 설정
'Study > WinServer' 카테고리의 다른 글
[22] 가상 사설망(VPN) 구축 (0) | 2015.05.07 |
---|---|
[21] Windows Server의 장점, 실습 환경 구축 (0) | 2015.05.07 |
[19] GNS 이용한 통신 설정 (0) | 2015.04.09 |
[17] 원격 server 로그 보기, DHCP 릴레이 실전 문제 (0) | 2015.04.09 |
[16] Dual DHCP server, 감사정책 with AD 문제 (0) | 2015.04.09 |
- 2015.01.29
[GNS 이용한 통신 실습 연습]
1) GNS 설치 및 셋팅
2) VMware 의 2개 서버에 각각 다른 2개의 NIC 연결
3) GNS 에서 클라우드 2개를 꺼내 각각 NIC에 연결
4) GNS 내 라우터를 꺼내 클라우드 - 라우터 - 클라우드 연결
5) GNS의 라우터는 CPU를 잡아먹는다. 라우터 오른클릭 - IDLE PC values 값 조정하면서 CPU 사용량 조정
6) VM1은 라우터의 f0/0으로, VM2는 f0/1 로 설정
7) 라우터 오른 클릭하여 콘솔 실행한 뒤 아래와 같은 명령어 입력
en
conf t
int f 0/0
ip add 100.100.100.254 255.255.255.0
no shut
int f 0/1
ip add 200.200.200.254 255.255.255.0
no shut
end
[GNS를 이용한 통신 실습]
server1 - VM1 - (f0/0)라우터1(f0/1) - (f0/0)라우터2(f0/1) - VM2 - server2
10번대 20번대 30번대
1) server1 설정
ip : 10.10.10.10
netmask : 255.255.255.0
gateway : 10.10.10.254
2) 라우터1 설정
en
conf t
int f 0/0
ip add 10.10.10.254 255.255.255.0
no shut
exit
int f 0/1
ip add 20.20.20.1 255.255.255.0
no shut
exit
ip route 30.30.30.0 255.255.255.0 f0/1
end
3) 라우터2 설정
en
conf t
int f 0/0
ip add 20.20.20.2 255.255.255.0
no shut
exit
int f 0/1
ip add 30.30.30.254 255.255.255.0
no shut
exit
ip route 10.10.10.0 255.255.255.0 f0/0
end
4) server2 설정
ip : 30.30.30.30
netmask : 255.255.255.0
gateway : 30.30.30.254
'Study > WinServer' 카테고리의 다른 글
[21] Windows Server의 장점, 실습 환경 구축 (0) | 2015.05.07 |
---|---|
[20] 실전문제, DNS 라운드 로빈 (0) | 2015.04.09 |
[17] 원격 server 로그 보기, DHCP 릴레이 실전 문제 (0) | 2015.04.09 |
[16] Dual DHCP server, 감사정책 with AD 문제 (0) | 2015.04.09 |
[15] DHCP 릴레이 에이전트 (0) | 2015.04.09 |