일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 메시지필터
- foxy
- IJCAI-ECAI
- docker
- cuDNN
- sensor fusion
- 자율주행카메라
- ROS2
- ros2 docker
- 센서퓨전
- blackfly
- 갤럭시s24
- AMZ
- AI올림픽
- ubuntu22.04
- Humble
- 강화학습프로젝트
- 블랙플라이
- AI Olympics 레슬링
- message_filters
- Ros
- AI olympic
- 강화학습
- lidar-camera
- AI Olympics 러닝
- 자율주행
- PPO알고리즘
- 센서데이터
- s24
- ubuntu
- Today
- Total
나름 공부하는 일상
[Docker] 도커에서 ROS2 환경 구축하기 #2 본문
해당 포스팅에서는 지난 포스팅에 이어 Docker에서 ROS2를 설정하는 방법을 다루고 있습니다.
[환경]
os: ubuntu 22.04
[지난 글]
2024.02.22 - [IT 개발/ubuntu 밀었을 때, 봐] - [Docker] 도커에서 ROS2 환경 구축하기 #1
1.5. 지난 포스팅 리뷰
지난 포스팅의 마지막 부분에서 아무런 작업 없이 컨테이너를 종료하면 이전에 설정한 모든 작업들이 사라진 것을 확인할 수 있었다. 이는 어찌 보면 당연한 건데 우리가 한글 문서를 작업하고 저장하지 않고 종료하면 문서가 사라지는 것처럼 Docker 역시 이름과 경로를 설정해 저장해 주어야 변경 사항들이 저장된다.
그래서 오늘은 컨테이너에서 작업한 내용을 저장하는 방법에 대해 알아보고자 한다.
2. Docker에서 변경사항 저장하기
컨테이너 변경사항을 저정하는 방식은 매우 쉬운데, 다음과 같은 방식으로 저장된다.
# 이미지 저장하기
docker commit 컨테이너이름이나ID 저장하고싶은이름:추가로적고싶은내용
# test라는 이름을 가진 컨테이너 저장하는 예시
docker commit test osrf/ros:첫번쨰업데이트진행함
위의 명령어가 아직 잘 안 와닿을 것 같은데 아래 docker images로 이미지 파일을 한번 살펴보자
REPOSITORY 부분과 TAG 부분이 우리가 앞으로 컨테이너 내용을 저장할 때 적어줘야 하는 부분이다.
다시 말해, REPOSITORY는 우리가 저장하고 싶은 이미지 이름이나 기존 이미지 이름을 적어주면 되고,
TAG는 나중에 뭐 때문에 이미지를 저장했는지 표시하는 메모라고 생각하면 좋을 것 같다.
REPOSITORY : 이미지 이름
TAG : 메모
step1. 커밋해보기
그럼 실제로 한번 ros2 humble 도커 이미지에 있는 패키지를 업그레이드하고 한번 저장해 보자.
docker run 명령어로 컨테이너를 실행하고, sudo apt update && sudo apt ugrade -y로 업그레이드를 완료한다.
이후 다음과 같이 로컬 환경에서 commit을 시도한다.
여기서 commit 뒤에 들어가는 test 대신 본인 컨테이너 별명이나, 컨테이너 ID가 들어가야 하고
osrf/ros 콜론 뒤에 저장하고 싶은 메모를 적어주면 된다.
즉, 위의 명령어를 풀어말하면 현재 실행 중인 osrf/ros:humble-desktop 이미지 기반의 test라는 별명을 가진 컨테이너를 update라는 메모를 남겨 새롭게 이미지를 저장하겠다는 의미이다. 커밋 결과는 다음과 같다.
사이즈를 보고 계속해서 용량이 늘어나는 게 아닌지 우려가 될 수도 있는데 이전 이미지와 비교해서 달라진 부분만 업데이트되는 식으로 저장되기 때문에 나중에 사용할 로컬 환경과 공유하는 공간을 만들게 되면 전혀 문제가 없다!
step2. 확인해 보기
docker run을 통해 새롭게 저장된 이미지를 열어본다. 이때 run 명령어 뒤에 새롭게 저장한 이미지 이름과 태그를 붙여주자.
컨테이너를 실행한 다음 sudo apt update && sudo apt ugrade -y를 시도해 보면 최신의 상태라는 메시지를 확인할 수 있을 것이다.
다음 포스팅
이렇게 Docker에서 commit을 이용해 내용을 저장하는 방법을 알아보았다. 다음 포스팅에서는 nvidia 그래픽 카드를 컨테이너와 연결시켜 사용하는 방법을 알아보도록 하자!!
'IT 개발 > ubuntu 세팅' 카테고리의 다른 글
[Docker] NVIDIA Container Toolkit으로 도커에서 nvidia 그래픽카드 사용하기 (1) | 2024.02.22 |
---|---|
[Docker] 도커에서 ROS2 환경 구축하기 #1 (2) | 2024.02.22 |
[Docker] ubuntu22.04에 Docker 설치하기 (0) | 2024.02.17 |
ubuntu22.04.3 학습 환경 세팅하기 (CUDA, cuDNN) (1) | 2024.02.15 |
우분투에서 terminator 설치 및 예쁘게 설정하기 (0) | 2024.02.15 |