Docker: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
79번째 줄: 79번째 줄:
|}
|}


== 컨테이너 관련 ==
==컨테이너 관련==
{| class="wikitable"
{| class="wikitable"
!과정
!과정
94번째 줄: 94번째 줄:
|호스트의 파일을 컨테이너에 연결한다.(-v옵션 여러 개 사용 가능)
|호스트의 파일을 컨테이너에 연결한다.(-v옵션 여러 개 사용 가능)
|-
|-
| -link  
| -link
|
|
|-
|-
| -p 호스트포트:컨테이너포트
| -p 호스트포트:컨테이너포트
|포트를 연결한다.
|포트를 연결한다.
|-
| -d
|데몬으로 실행(백그라운드에서 실행)
|-
|<code>--privileged</code>
|모든 기능을 사용할 수 있게끔, 권한을 부여한다는 의미.
IP주소 등 네트워크 설정을 만질 수 있다.
|}
|}
로컬에 이미지가 없으면 자동으로 이미지를 받아온다.
로컬에 이미지가 없으면 자동으로 이미지를 받아온다.
|docker run  
|docker run
|-
|-
|컨테이너에서 파일 꺼내기
|컨테이너에서 파일 꺼내기
141번째 줄: 148번째 줄:
|}
|}


== 저장공간 사용 ==
==저장공간 사용==
{| class="wikitable"
{| class="wikitable"
!과정
!과정

2021년 2월 25일 (목) 21:29 판

개요

반가상화 기술.

설치

리눅스에서 설치

우분투

과정 설명 방법
설치
  1. 업데이트
  2. HTTPS를 통해 패키지를 사용할 수 있게끔 설치.
  3. 도커 저장소용 GPG 키를 추가.
  4. APT 소스에 도커 저장소 추가.
  5. 도커 설치.
  1. sudo apt update
  2. sudo apt install apt-transport-https ca-certificates curl software-properties-common
  3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
  5. sudo apt install docker-ce
확인
  1. 이것저것 뜨면 설치가 된 것.
  2. active가 뜬다면 서비스 가동중.
  1. apt-cache policy docker-ce 혹은 sudo systemctl status docker
  2. sudo systemctl status docker
유저추가 도커 관련 명령어를 사용할 때마다 sudo를 사용해야 한다. 이를 방지하기 위한 과정.

이거 적용하고 sudo service docker restart 재시작.

그리고 유저도 로그아웃했다 들어와야 한다.

sudo usermod -aG docker $USER
권한부여 소켓파일의 권한을 이용할 수 있게 소유자를 docker그룹으로 바꾼다.

이걸 안하면 다음과 같은 에러가 난다.[1]

sudo chown root:docker /var/run/docker.sock

기초 사용

이미지 관련

과정 설명 방법
이미지 확인 이미지리스트를 본다.

용량과 태그, ID, 생성날짜, 크기를 볼 수 있다.

docker images
이미지 삭제 docker rmi 이미지:태그
모든 이미지 삭제 docker rmi $(docker images -q)
이미지 히스토리 이미지의 변경 히스토리를 조회한다. docker history 이미지:태그

컨테이너 관련

과정 설명 방법
실행
옵션 설명
-v 호스트경로:컨테이너경로 호스트의 파일을 컨테이너에 연결한다.(-v옵션 여러 개 사용 가능)
-link
-p 호스트포트:컨테이너포트 포트를 연결한다.
-d 데몬으로 실행(백그라운드에서 실행)
--privileged 모든 기능을 사용할 수 있게끔, 권한을 부여한다는 의미.

IP주소 등 네트워크 설정을 만질 수 있다.

로컬에 이미지가 없으면 자동으로 이미지를 받아온다.

docker run
컨테이너에서 파일 꺼내기 컨테이너에서 파일을 꺼낸다. docker cp 컨테이너:경로 호스트경로

docker cp hello:/etc/file.conf ./ # 현재경로로 컨테이너의 파일을 꺼낸다.

변경파일 확인 컨테이너가 실행되며 변경된 파일목록 출력.

기준은 컨테이너를 생성한 이미지 기준.

A: 추가된 파일

C: 변경된 파일

D: 삭제된 파일

docker diff 컨테이너
이미지로 저장 변경사항을 이미지로 생성한다.
옵션 설명
-a
-m "코멘트" 코멘트를 단다.
docker commit 옵션 컨테이너 이미지:태그

저장공간 사용

과정 설명 방법
이미지 올리기 레지스트리 서버에 이미지를 올린다.

192.000.000.000:포트번호 형태로 개인저장소에 올라간 이미지를 받아올 수도 있다.

docker push
이미지 받기 서버에서 이미지를 받는다.

localhost:포트번호 형식으로 개인저장소에 올릴 수도 있다.

docker pull 레지스트리URL/이미지:태그

포테이너 설치

과정 설명 방법
볼륨 생성 사용할 volume을 생성한다. docker volume create portainer_data
생성 --restart=always 옵션은 docker를 재시작 해도 자동으로 구동하라는 옵션. docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --restart=always portainer/portainer
  1. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:.......