😀 이 글을 작성하게된 이유는 라즈베리파이 os의 bit 문제를 겪고 있는 사람들에게 도움을 주기 위함이다.
- os32비트에서는
pip install -r requirements.txt
가 실행되지 않는다- 이유는 알 수 없지만 (cpu 성능 때문일까?) 많은 사람들도 64bit에서 실행하고 있었다 (많은 사람들이 64비트를 사용하고 있는 이유가 있을 것이다..)
- 그래서 나 또한 시행착오 끝에
64 bit
환경에서 실행하게 되었다 (*64 lite 아님)
🔴 목표
- 라즈베리파이 os 64비트 설치
® [라즈베리파이 설치] https://www.raspberrypi.com/software/
® [라즈베리파이 설치방법 순서] https://qengineering.eu/install-raspberry-64-os.html
- 라즈베리파이 외부접속을 위한 포트포워딩
® [라즈베리파이 포트포워딩 방법] https://ict-nroo.tistory.com/7
- 도커 환경에서 yolov5 실행 (학습한 best.pt로 실행)
🙂 목표 2번까지 마무리 후 xshell에 연결한 후 실행한 명령어는 아래와 같다
🟠 1-1. 업데이트 & 업그레이드
sudo apt-get update sudo apt-get upgrade
🟠 1-2. 도커 설치 스크립트 다운로드 (CURL)
- curl 명령어로 get.docker.com URL의 스크립트를 get-docker.sh 파일로 다운받는다
curl -fsSL https://get.docker.com -o get-docker.sh
- 다운로드 받은 쉘 스크립트를 실행한다
sudo sh get-docker.sh
- 정상적인 결과
+ sh -c mkdir -p /etc/apt/keyrings && chmod -R 0755 /etc/apt/keyrings + sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" | gpg --dearmor --yes - + sh -c chmod a+r /etc/apt/keyrings/docker.gpg + sh -c echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.do + sh -c apt-get update -qq >/dev/null + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends doc + version_gte 20.10 + [ -z ] + return 0 + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras > + sh -c docker version Client: Docker Engine - Community Version: 20.10.17 API version: 1.41 Go version: go1.17.11 Git commit: 100c701 Built: Mon Jun 6 23:02:34 2022 OS/Arch: linux/arm64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.17 API version: 1.41 (minimum version 1.12) Go version: go1.17.11 Git commit: a89b842 Built: Mon Jun 6 23:01:01 2022 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.6.7 GitCommit: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb runc: Version: 1.1.3 GitCommit: v1.1.3-0-g6724737 docker-init: Version: 0.19.0 GitCommit: de40ad0 ================================================================================ To run Docker as a non-privileged user, consider setting up the Docker daemon in rootless mode for your user: dockerd-rootless-setuptool.sh install Visit https://docs.docker.com/go/rootless/ to learn about rootless mode. To run the Docker daemon as a fully privileged service, but granting non-root users access, refer to https://docs.docker.com/go/daemon-access/ WARNING: Access to the remote API on a privileged Docker daemon is equivalent to root access on the host. Refer to the 'Docker daemon attack surface' documentation for details: https://docs.docker.com/go/attack-surface/ ================================================================================
🟠 1-3. 비루트 계정 권한 설정
- 일반계정에서도 sudo 명령어 없이 도커 컨테이너를 실행하기 위해 docker 그룹에 사용자를 추가한다 (usermod 명령어 사용)
- ${USER}는 라즈베리파이 로그인시에 사용한 계정명, 별다른 설정이 없으면 pi로 설정된다
# sudo usermod -aG docker ${USER} sudo usermod -aG docker yuri
- 그룹 할당 확인 명령어
# groups ${USER} groups yuri
- 정상적인 결과
yuri : yuri adm dialout cdrom sudo audio video plugdev games users input render netdev spi i2c gpio lpadmi
🟠 1-4. 버전 확인
sudo docker version
- 정상적인 결과
Client: Docker Engine - Community Version: 20.10.17 API version: 1.41 Go version: go1.17.11 Git commit: 100c701 Built: Mon Jun 6 23:02:34 2022 OS/Arch: linux/arm64 Context: default Experimental: true Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Gconnect: permission denied
🟠 1-5. 정보 확인
sudo docker info
- 정상적인 결과
Client: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Docker Buildx (Docker Inc., v0.8.2-docker) compose: Docker Compose (Docker Inc., v2.6.0) Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 20.10.17 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: systemd Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb runc version: v1.1.3-0-g6724737 init version: de40ad0 Security Options: seccomp Profile: default cgroupns Kernel Version: 5.15.56-v8+ Operating System: Debian GNU/Linux 11 (bullseye) OSType: linux Architecture: aarch64 CPUs: 4 Total Memory: 3.705GiB Name: raspberrypi ID: VRTX:AJXU:IZXE:DI5W:TXCB:BBPL:BCRG:7L3B:TW75:ZSI3:C773:2IFB Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false WARNING: No memory limit support WARNING: No swap limit support
🟠 1-6. 도커 실행
sudo docker run hello-world
- 정상적인 결과
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 7050e35b49f5: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm64v8) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
🟠 1-7. 시스템 부팅 시 자동으로 도커 서비스 실행
sudo systemctl enable docker
- 정상적인 결과
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv- Executing: /lib/systemd/systemd-sysv-install enable docker
® [라즈베리파이 도커설치하기] https://yogyui.tistory.com/entry/Raspberry-Pi-Docker-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
🟡 2.1 도커 이미지 다운로드
docker pull ultralytics/yolov5:latest-arm64
- 정상적인 결과
latest-arm64: Pulling from ultralytics/yolov5 a749a280e3e9: Pull complete c39b5b3d793d: Pull complete a7785bbf064f: Pull complete 6949767ece97: Pull complete 6f247b47afa8: Pull complete 8a18774a5356: Pull complete 077caa153a35: Pull complete 840e78445cd0: Pull complete 20ac2183ebd4: Pull complete 4f4fb700ef54: Pull complete bc484b13ce12: Pull complete Digest: sha256:581142260872830894244cf47e21037de098e30176537778b5d50c96c55052f7 Status: Downloaded newer image for ultralytics/yolov5:latest-arm64 docker.io/ultralytics/yolov5:latest-arm64
🟢 3.1 도커 컨테이너 실행
sudo docker container run -it -d --name yolov5_2 ultralytics/yolov5:latest-arm64 # docker ps # container ID, IMAGE, STATUS 등 확인할 수 있음
🔵 4.1 git clone 및 설치
# 경로 확인 pwd # 경로 /usr/src/app # git clone git clone https://github.com/ultralytics/yolov5 # 확인 ls
- 폴더 및 파일 확인
CONTRIBUTING.md LICENSE README.md classify data detect.py export.py hubconf.py models requirements.txt setup.cfg train.py tutorial.ipynb utils val.py yolov5 yolov5_2
- exit
exit
- docker ps
docker ps
- docker ID, IMAGE, STATUE 확인
# IMAGE ultralytics/yolov5:latest-arm64
- best.pt로 테스트 하기 위해 테스트할 이미지 컨테이너로 복사
# docker cp [hostFilePath] [container_name]:[containerPath] docker cp /home/yuri/Desktop/best.pt yolov5_2:/usr/src/app/best.pt docker cp /home/yuri/Desktop/Save_crawling_lunchfood_img25.jpg yolov5_2:/usr/src/app/Save_crawling_lunchfood_img25.jpg
- docker container exec -it yolov5_2 /bin/bash
docker container exec -it yolov5_2 /bin/bash
- 현재 나의 경로 root@##:/usr/src/app#
ls
- 확인
CONTRIBUTING.md README.md best.pt data export.py models schoolfood_0.jpg train.py utils yolov5 LICENSE Save_crawling_lunchfood_img25.jpg classify detect.py hubconf.py requirements.txt setup.cfg tutorial.ipynb val.py yolov5_2
- 현재 나의 경로 root@##:/usr/src/app#
pwd # /usr/src/app
- cd yolov5
cd yolov5
- pip install -r requirements.txt
pip install -r requirements.txt
- 정상적인 결과
Requirement already satisfied: matplotlib>=3.2.2 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 5)) (3.5.3) Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 6)) (1.23.2) Requirement already satisfied: opencv-python>=4.1.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 7)) (4.6.0.66) Requirement already satisfied: Pillow>=7.1.2 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 8)) (9.2.0) Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 9)) (6.0) Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 10)) (2.28.1) Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 11)) (1.9.0) Requirement already satisfied: torch>=1.7.0 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 12)) (1.12.1) Requirement already satisfied: torchvision>=0.8.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 13)) (0.13.1) Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 14)) (4.64.0) Requirement already satisfied: protobuf<=3.20.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 15)) (3.19.4) Requirement already satisfied: tensorboard>=2.4.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 18)) (2.9.1) Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 23)) (1.4.3) Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 24)) (0.11.2) Requirement already satisfied: ipython in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 38)) (8.4.0) Requirement already satisfied: psutil in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 39)) (5.9.1) Requirement already satisfied: thop>=0.1.1 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 40)) (0.1.1.post2207130030) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (21.3) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (2.8.2) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (4.37.1) Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (3.0.9) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (1.4.4) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->-r requirements.txt (line 5)) (0.11.0) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->-r requirements.txt (line 10)) (2022.6.15) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->-r requirements.txt (line 10)) (3.3) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->-r requirements.txt (line 10)) (1.26.12) Requirement already satisfied: charset-normalizer<3,>=2 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->-r requirements.txt (line 10)) (2.1.1) Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from torch>=1.7.0->-r requirements.txt (line 12)) (4.3.0) Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (1.47.0) Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (2.2.2) Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (3.4.1) Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (1.8.1) Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (0.6.1) Requirement already satisfied: setuptools>=41.0.0 in /usr/lib/python3/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (45.2.0) Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (0.37.1) Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (2.11.0) Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (1.2.0) Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->-r requirements.txt (line 18)) (0.4.6) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.8/dist-packages (from pandas>=1.1.4->-r requirements.txt (line 23)) (2022.2.1) Requirement already satisfied: stack-data in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (0.4.0) Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (4.8.0) Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (3.0.30) Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (0.1.6) Requirement already satisfied: pygments>=2.4.0 in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (2.13.0) Requirement already satisfied: decorator in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (5.1.1) Requirement already satisfied: backcall in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (0.2.0) Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (0.18.1) Requirement already satisfied: pickleshare in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (0.7.5) Requirement already satisfied: traitlets>=5 in /usr/local/lib/python3.8/dist-packages (from ipython->-r requirements.txt (line 38)) (5.3.0) Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r requirements.txt (line 18)) (5.2.0) Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r requirements.txt (line 18)) (0.2.8) Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r requirements.txt (line 18)) (4.7.2) Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r requirements.txt (line 18)) (1.16.0) Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.8/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.4.1->-r requirements.txt (line 18)) (1.3.1) Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.8/dist-packages (from jedi>=0.16->ipython->-r requirements.txt (line 38)) (0.8.3) Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.8/dist-packages (from markdown>=2.6.8->tensorboard>=2.4.1->-r requirements.txt (line 18)) (4.12.0) Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.8/dist-packages (from pexpect>4.3->ipython->-r requirements.txt (line 38)) (0.7.0) Requirement already satisfied: wcwidth in /usr/local/lib/python3.8/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->-r requirements.txt (line 38)) (0.2.5) Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.8/dist-packages (from werkzeug>=1.0.1->tensorboard>=2.4.1->-r requirements.txt (line 18)) (2.1.1) Requirement already satisfied: executing in /usr/local/lib/python3.8/dist-packages (from stack-data->ipython->-r requirements.txt (line 38)) (0.10.0) Requirement already satisfied: asttokens in /usr/local/lib/python3.8/dist-packages (from stack-data->ipython->-r requirements.txt (line 38)) (2.0.8) Requirement already satisfied: pure-eval in /usr/local/lib/python3.8/dist-packages (from stack-data->ipython->-r requirements.txt (line 38)) (0.2.2) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.8/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard>=2.4.1->-r requirements.txt (line 18)) (3.8.1) Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.8/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r requirements.txt (line 18)) (0.4.8) Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.8/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.4.1->-r requirements.txt (line 18)) (3.2.0) WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
🟣 best.pt로 이미지 1개 테스트 해보기
python3 detect.py --weights ../best.pt --img 640 --conf 0.5 --source ../Save_crawling_lunchfood_img25.jpg
- 정상적인 결과
/usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: warn(f"Failed to load image Python extension: {e}") detect: weights=['../best.pt'], source=../Save_crawling_lunchfood_img25.jpg, data=data/coco128.yaml, imgsz=[640, 640], conf_thres=0.5, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False YOLOv5 🚀 v6.2-56-g30e674b Python-3.8.10 torch-1.12.1 CPU Fusing layers... YOLOv5s summary: 213 layers, 7012822 parameters, 0 gradients image 1/1 /usr/src/app/Save_crawling_lunchfood_img25.jpg: 640x480 (no detections), 941.0ms Speed: 6.3ms pre-process, 941.0ms inference, 0.9ms NMS per image at shape (1, 3, 640, 640) Results saved to runs/detect/exp2
- 현재 나의 경로 root@##:/usr/src/app/yolov5#
cd runs/detect/exp2
- 현재 나의 경로 root@##:/usr/src/app/yolov5/runs/detect/exp2#
ls # Save_crawling_lunchfood_img25.jpg
- exit
exit
- 현재 나의 경로 root@##:/home/yuri#
# docker cp <containerId>:/file/path/within/container /host/path/target docker cp yolov5_2:/usr/src/app/yolov5/runs/detect/exp2/Save_crawling_lunchfood_img25.jpg /home/yuri/Desktop/de_Save_crawling_lunchfood_img25.jpg
® [yolov5 라즈베리파이4] https://github.com/Qengineering/YoloV5-ncnn-Raspberry-Pi-4
🍒 docker 명령어 참고용
- docker 모든 images를 삭제하고 싶을 때
docker rm -f $(docker ps -aq)
- docker login & commit & push 하는 방법
docker login docker ps # docker commit CONTAIERID DOCKER_ID_USER/REPOSITORY_NAME:TAG docker commit CONTAIERID yuri0329/yolov5_rasberry64:0.1 # docker push DOCKER_ID_USER/REPOSITORY_NAME docker push yuri0329/yolov5_rasberry64:0.1
docker대신 한가지 py프로그램으로 실행시켜 결과를 저장할 수도 있나요??