Docker 명령어 정리
Docker 컨테이너로 ROS 와 PX4, Gazebo 환경 세팅을 위해 필요한 명령어들 정리
docker pull
로 받은 이미지 목록 보기
컨테이너 목록, 이전에 만들어진 목록까지 모두 보기
실행 중인 컨테이너에 sudo
권한으로 접근하려면 ID=0 으로 접근한다. (docker run
할 때 -u 0
을 붙여줘도 된다.)
passwd root
로 비밀번호 변경해주면 이후에는 필요할 때 입력해도 된다.
Docker Container 에서 PX4 사용하기
공식 문서 에 잘 나와있으나 한번 싹 정리.
docker run -it --privileged \
--env=LOCAL_USER_ID="$(id -u)" \
-v ~/src/PX4-Autopilot:/src/PX4-Autopilot/:rw \
-v /tmp/.X11-unix:/tmp/.X11-unix:ro \
-e DISPLAY=:0 \
--network host \
--name=px4-ros px4io/px4-dev-ros-noetic:latest bash
기존 PX4-Autopilot 소스코드를 마운트하여 사용하기 때문에, 이미 빌드된 파일을 사용할 수 없는 문제가 있다. rm -rf ./build
로 빌드 제거 후 make px4_sitl gazebo-classic
으로 다시 빌드해주어야 한다.
그래서 마운트 없이 아래 명령어로 실행.
PX4-Autopilot 을 별도로 설치하면 빌드도 다시 해주어야 한다.
git config --global --add safe.directory /home/user/PX4-Autopilot
입력해준 후 make px4_sitl gazebo-classic
빌드 과정에서 아래 에러 발생
원인은 /home/user
위치에 소스코드를 설치해서 였음. ~/
로 이동하여 다시 설치한 후에 빌드하니 성공.
GUI 테스트 및 rviz 설치
xeyes
로 GUI 테스트 후 apt-get install ros-noetic-rviz
로 설치.