# Docker

```
0. Docker 
1. sudo apt-get remove docker docker-engine docker.io containerd runc
2. sudo apt-get update
3. sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
4. Add Docker’s official GPG key
   : curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    --> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg 이거로 바뀐듯 
5. sudo apt-key fingerprint 0EBFCD88
        smend@smend-Slave:~$ sudo apt-key fingerprint 0EBFCD88
        pub   rsa4096 2017-02-22 [SCEA]
                  9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
        uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
        sub   rsa4096 2017-02-22 [S]
6. 
        sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  * --> Raspberry Pi 4 : deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable
7. sudo apt-get update
8. sudo apt-get install docker-ce docker-ce-cli containerd.io
9. sudo usermod -aG docker $USER 그리고 재로그인 
```

<span class="anchor" id="bkmrk--1"></span><span class="anchor" id="bkmrk--2"></span>

- Docker 치트 시트 : [https://medium.com/@kam6512/%EB%AC%B4%EC%9E%91%EC%A0%95-%ED%95%B4%EB%B3%B4%EB%8A%94-docker-29fa19d8acbc](https://medium.com/@kam6512/%EB%AC%B4%EC%9E%91%EC%A0%95-%ED%95%B4%EB%B3%B4%EB%8A%94-docker-29fa19d8acbc)<span class="anchor" id="bkmrk--3"></span>
- [https://medium.com/@dirty49374/kubeadm%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-kubernetes-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-ubuntu-18-04-61710f0b4db8](https://medium.com/@dirty49374/kubeadm%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-kubernetes-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-ubuntu-18-04-61710f0b4db8) &lt;--- 여기로 설치<span class="anchor" id="bkmrk--4"></span>
- docker image prune -a 모두 지우기<span class="anchor" id="bkmrk--5"></span>
- docker image prune -f 안쓰는 거 지우기
- docker(tomcat) 실행  
    <span class="anchor" id="bkmrk--6"></span><span class="anchor" id="bkmrk--7"></span><span class="anchor" id="bkmrk--8"></span><span class="anchor" id="bkmrk--9"></span><span class="anchor" id="bkmrk--10"></span>```
    
    docker run -it -v /data/tomcat:/data/tomcat --name=python-test tomcat-meta-batch:1 /bin/bash
    
    docker run -d -i -t --name metafilemanager -p 8080:8080 tomcat-meta:0.1
    
     01cb13fd8e1090692aff249b79e9ed77bd75f80071c0b6ecb2023cbaeb791dca
    ```
    
    <span class="anchor" id="bkmrk--11"></span><span class="anchor" id="bkmrk--12"></span>
- Docker image에 들어가기<span class="anchor" id="bkmrk--13"></span><span class="anchor" id="bkmrk--14"></span><span class="anchor" id="bkmrk--15"></span>```
     docker exec -it c6b29002575e /bin/bash
    ```
    
    <span class="anchor" id="bkmrk--16"></span><span class="anchor" id="bkmrk--17"></span><span class="anchor" id="bkmrk--18"></span><span class="anchor" id="bkmrk--19"></span>
- Kubernetes pod에 들어가기   
    ```bash
    kubectl exec -it -n meta-apps meta-meta-59b56f6694-smtmq -- bash
    ```
- 도커 이미지 등록<span class="anchor" id="bkmrk--20"></span><span class="anchor" id="bkmrk--21"></span><span class="anchor" id="bkmrk--22"></span>```
    docker commit -m "inital commit" -a "tomcat8_meta_image" tomcat8_meta tomcat8:0.1
    ```
    
    <span class="anchor" id="bkmrk--23"></span><span class="anchor" id="bkmrk--24"></span>
- 생성한 image를 파일로 만드는 방법
    
    <span class="anchor" id="bkmrk--25"></span>
    
    
    - 외부로 image 파일을 보내고 싶을때 사용 합니다.<span class="anchor" id="bkmrk--26"></span>
        1. docker 내부의 image를 외부 파일 image로 생성 방법<span class="anchor" id="bkmrk--27"></span>
            - 이미지를 묶은 파일로 생성 할 뿐 압축은 하지 않습니다. 별로도 압축 필요<span class="anchor" id="bkmrk--28"></span>
            - \#docker save -o {image 파일 이름}.tar {image 명}<span class="anchor" id="bkmrk--29"></span>
        2. 파일 image를 docker로 load하는 방법<span class="anchor" id="bkmrk--30"></span>
            - 상기 1)에서 만든 파일을 docker 내부로 load 합니다.<span class="anchor" id="bkmrk--31"></span>
            - \#docker load -i {image 파일 이름}.tar