2024. 5. 20. 16:01ㆍVirtualization
Docker는
커널 컨테이너 기술을 이용하여 만든 컨테이너 기술이다.
설치 과정이 조금 복잡하니
한번 알아보자
먼저 CentOS7의 가상머신을 생성하자
메모리 4G , 프로세서 4개로 생성했다.
OS 설치과정을 전과 같이 해주자
host 변경
설치중 네트워크 설정 단계에서 호스트 이름을 바꿔줄 수도 있다.
만약 설치 단계에서 바꾸지 않았다면
vi /etc/hosts 명령어로
호스트를 변경 해주자
vi /etc/hosts
-----------------------------vi 편집기--------------------------
(자신의 IP) docker1.test.com docker1
마지막 줄에 추가
systemctl disable --now firewalld
방화벽 비활성화
SELINUX disalbled 또는 setenforce 0로
SELINUX 비활성화
Git Clone 설치
yum install -y epel-release
yum install -y git-core
git clone https://github.com/ncs10322/docker.git
위 명령어로 패키지 설치 후
ls docker 명령어를 입력해보자
ls docker
위 사진처럼 뜬다면 성공이다.
리포지토리 추가
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y yum-utils (리포지토리 변경후 한번더 다운로드)
충돌 패키지 삭제
rpm -qa runc
yum -y remove runc
충돌 패키지가 없다면 위 사진처럼 아무것도 뜨지 않는다.
없어도 정상이다.
설치 스크립트 다운로드
curl -fsSl https://get.docker.com -o get-docker.sh
현재 디렉토리에 get-docker.sh 파일이 다운로드 됐는지 확인
ll
Docker는 설치 과정이 복잡해 스크립트 파일을 다운로드 받았다.
Docker-ce 설치
실행 권한이 없이 때문에 권한을 부여해주고
실행해보자
chmod 777 get-docker.sh
./get-docker.sh
권한 부여 후 위 명령어로 스크립트 실행
설치를 진행해주자
설치 확인
실행이 되지 않거나 이상이 있으면
설치여부를 확인해보자
rpm -qa | grep docker
Docker 서비스 시작
systemctl enable --now docker
실행후 status 확인
systemctl status docker
위 사진처럼 확인된다면 실행 성공이다.
예시로 Docker 내부 컨테이너에서 웹서비를 간단히 구현해보자
nginx 를 사용하겠다.
먼저 mkdir /www 를 생성해
웹컨텐츠 디렉토리를 정해주고
nginx라는 웹 서버 소프트웨어를 설치해보자
docker pull nginx
docker container run -d --name myweb -v /www:/usr/share/nginx/html -p 80:80 nginx
위 명령어로 한 컨테이너를 만들고 nginx 서비스를 추가해주자
/www:/usr/share/nginx/html
위 처럼 경로가 이상한 이유는 호스트 PC의 /www에
컨테이너의 /usr/share/nginx/html 를 마운트 한다는 의미다!
포트가 80:80인 이유는 첫번째 포트는 오리지널 포트고 두번째는 nginx의 포트로써 포트 포워딩을 해준 것이다.
이후 IP 주소로 접속해보면 위 사진처럼 뜰 것이다.
그럼 성공이다.
처음 만들어둔 /www 디렉토리에
웹컨텐츠를 넣어보자
vi /www/index.html에서 아무거나 만들어보자
성공이다.
Docker 내부로 접속하기
Docker 내부의 시스템으로 접속해볼 수도 있다!
docker exec -it myweb /bin/bash
위 명령어로 myweb 컨테이너로 접속했다!
접속시 시작점은 마운트 지점이다!
또한 내부에 만들었던 index.html 을 확인해보면
마운트 되어서 똑같은 파일이 존재하는 것을 볼 수 있다!
Docker 명령어
컨테이너 이미지 확인 명령어
docker images
컨터이너를 수정할때 리포지토리 이름이나, 이미지 ID로 지정해줄 수 있다.
우리는 각각 2주,6주, 15개월 전에 만들어진
이미지들을 다운로드 받은 걸 알 수 있다.
컨테이너 확인 명령어
docker container ls
docker container ls -a
-a 옵션은 꺼져있는 컨테이너도 모두 표시된다.
컨테이너 삭제 및 정지 명령어
컨테이너 정지 명령어
docker container stop (컨테이너 이름)
컨테이너 삭제 명령어
docker container rm (컨테이너 이름)
도커에 올라와 있는 이미지를 미리 확인해볼 수도 있다
위 사이트를 확인해보면
각종 이미지 파일들을 검색해볼 수 있다.
만약 이미지 파일을 도커 허브에 업로드 하고 싶다면
사이트 회원가입 후
docker login 명령어를 사용하자
'Virtualization' 카테고리의 다른 글
Virtualization 5. ESXi8으로 가상화 (2) | 2024.05.10 |
---|---|
Virtualization 4. 가상머신 튜닝 (0) | 2024.05.07 |
Virtualization 3. Hyper-V (0) | 2024.05.03 |
Virtualization 2. VMware, KVM (0) | 2024.05.02 |
Virtualization 1 . 가상화 및 VirtualBox에 OS 설치하기 (0) | 2024.03.04 |