본문 바로가기

리눅스

리눅스17일 차

도커란?

  - 리눅스의 응용프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈소스 프로젝트

컨테이너

  >도커 컨테이너는 일종의 소프트웨어의 실행에 필요한 모든것을 포함하는 완전한 파일 시스템안에 감싸 실행중인 환경에 관계없이 언제나 동일하게 실행될 것을 보증

 

도커설치

-우아하게 (windows 10pro이상)

-무식하게 

   -버츄얼박스를 이용해서 설치

 

도커툴박스

https://github.com/docker-archive/toolbox/releases/tag/v19.03.1

 

Release v19.03.1 · docker-archive/toolbox

Please ensure that your system has all of the latest updates before attempting the installation. In some cases, this will require a reboot. If you run into issues creating VMs, you may need to un...

github.com

 

버츄얼 박스가 깔려있으면 해당부분 해제후 설치
버츄얼 박스 실행후 도커 화면 확인했을때 고래가 떠야함

버츄얼박스

PC > 꺼짐, 켜짐

 

도커

 

image(이미지)

  -컨테이너 실행에 필요한 파일과 설정을 포함하고 있는 것

 

nginx에 대한 것들을 찾아줌
nginx를 도커에 설치

nginx포트를 연결

8020포트와 연결
포트포워딩 해주기
서버 연결 되었는지 확인!

 

도커 기초명령어들

docker images

   -다운로드 된 이미지들 리스트를 찾는 명령어

docker search 이미지이름

   -이런 이름의 이미지가 도커 허브에 있는지 찾는 명령어

docker pull 이미지이름

  -이미지 다운로드하는 명령어

docker ps

  -현재 실행중인 이미지들을 확인 하는 명령어

docker rm -f 컨테이너 ID

  - 도커 컨테이너 하나만 종료하는 명령어

docker rm -f $(docker ps -q -a)

  - 도커 컨테이너 전체 종료하는 명령어


docker run 옵션 이미지이름

run : 이미지 실행, 컨테이너 이름이 랜덤하게 정해짐

옵션 종류

-p : 호스트와 컨테이너의 포트를 연결(포워딩)

-p 호스트넘버:컨테이너내에서 사용되는 포트넘버/프로토콜

--rm : 프로세스를 종료시 컨테이너 자동 제거

-v : 호스트와 컨테이너의 디렉토리를 연결

docker run --name 컨테이너이름 이미지이름 : 컨테이너 시작, 컨테이너 이름이 지정한 이름으로 정해짐


docker ps 옵션

ps : 컨테이너 목록확인

-a : 실행했다가 종료된 컨테이너도 보임


컨테이너 아이디를 이용해서 컨테이너 제거

docker rm 옵션 컨테이너이름 or 컨테이너id

rm : 컨테이너 제거

컨테이너 아이디를 입력할때 앞부분이 겹티지 않는다면 2글자 정도만 입력해도 됨.

docker rm -f $(docker ps -a -q) : 모든 컨테이너를 삭제

docker rmi -f 이미지이름 : 이미지 삭제

docker rmi -f $(docker images -aq) :모든 이미지를 삭제


docker stop docker옵션 컨테이너 아이디

stop : 도커컨테이너 중지 스스로 꺼지도록 기다림

docker stop kill 컨테이너이름 or 컨테이너 ID

kill : 컨테이너 중지 무식하게 바로 끄기


docker run nginx > 연결이 안됨

docker run -p 8020:80 nginx

  -포트포워딩 이름/TCP/0.0.0.0/8020/ /호스트포트와 동일하게 작성

 

실행중인 image 멈추는 방법(ID이름은 앞의 2~3글자만 적어도 가능)

ID와 동일한 이름을 docker rm -f 뒤에 붙여야한다.

파일 경로 확인

cd명령어를 통해서 이동


도커 컴포즈란?

   - 여러개의 컨테이너를 하나로 묶어주는 역할을 하는 툴

도커 컴포즈의 장점

   - 명령어가 굉장히 간단하다.

   - 컨테이너가 여러개 실해되야 하는 시스템 구성을 할때 깔끔하게 정리를 할 수 있음


  • 도커 설치 명령어 (putty에서 설치)
    1. 필요한 종속성을 설치
      sudo yum install yum-utils device-mapper-persistent-data lvm2 -y
    2. 도커 안정적 리포지토리를 시스템에 추가
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -y
    3. 도커 리포지토리가 사용되도록 설정되었으므로 yum을 사용해서 최신 버전의 도커-ce를 설치
      sudo yum install docker-ce -y
    4. 도커 실행
      sudo systemctl start docker
    5. 도커를 시작하고 부팅할때 도커가 자동으로 시작되도록 설정
      sudo systemctl enable docker
  • 도커 컴포즈 설치 명령어
    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

!!!명령어 입력 후 putty 재시작 해야함!!!


sudo usermod -aG docker ${USER}

 

8011 => /web/site1/public

8012 => /web/site2/public

8013 => /web/site3/public

 

pureftpd  =>  사용자관리 MariaDB(pureftpd/it123414)

 

버츄얼박스

---------------

centos7

---------------

nginx

pureftpd

mariadb

 

마리아DB를 끈 상황

도커로 마리아DB를 실행

기존처럼 pureftpd가 잘 작동해야함

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

리눅스 19일 차  (0) 2022.06.08
리눅스 18일 차  (0) 2022.06.01
리눅스 12일차  (0) 2022.05.25
리눅스 11일 차  (0) 2022.05.13
리눅스 10일 차  (0) 2022.05.11