Ver Fonte

更新容器运行环境

Casper há 7 meses atrás
pai
commit
b6f1fc8540

+ 1 - 0
.gitattributes

@@ -0,0 +1 @@
+* text=auto eol=lf encoding=utf-8

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+*.zip
+*.gz

+ 1 - 5
environment/develop/Dockerfile

@@ -4,10 +4,6 @@ FROM ros:noetic
 RUN apt-get update
 RUN apt-get install -y iputils-ping
 
-
-
 COPY ./setup.bash ./setup.bash
 RUN echo "source ./setup.bash" >> /root/.bashrc
-RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc
-
-
+RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc

+ 3 - 3
environment/README-usage.bash → environment/develop/README-usage.bash

@@ -5,19 +5,19 @@ echo "执行:构建调试" \
 && cd ${project_path} \
 && sudo docker-compose --file compose.yml down \
 && sudo docker-compose --file compose.yml up --detach --build \
-&& sudo docker exec -it devzw-scout bash
+&& sudo docker exec -it devzw-scout-develop bash
 
 echo "执行:停服调试" \
 && project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/develop" \
 && cd ${project_path} \
 && sudo docker-compose --file compose.yml down \
 && sudo docker-compose --file compose.yml up --detach \
-&& sudo docker exec -it devzw-scout bash
+&& sudo docker exec -it devzw-scout-develop bash
 
 echo "执行:进入调试" \
 && project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/develop" \
 && cd ${project_path} \
-&& sudo docker exec -it devzw-scout bash
+&& sudo docker exec -it devzw-scout-develop bash
 
 
 

+ 3 - 3
environment/develop/compose.yml

@@ -1,10 +1,10 @@
 version: '3.5'
 services:
 
-    devzw-scout:
+    devzw-scout-develop:
 
         # --- building ---
-        image: devzw-scout:2024
+        image: devzw-scout-develop:2024
         build:
             context: ./
             dockerfile: ./Dockerfile
@@ -23,7 +23,7 @@ services:
         network_mode: host
 
         # --- running ---
-        container_name: devzw-scout
+        container_name: devzw-scout-develop
         cap_add:
             - SYS_ADMIN
         privileged: true

+ 26 - 0
environment/release/README-usage.bash

@@ -0,0 +1,26 @@
+## NOTE
+
+echo "执行:构建调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/release" \
+&& cd ${project_path} \
+&& sudo docker-compose --file compose.yml down \
+&& sudo docker-compose --file compose.yml up --detach --build \
+&& sudo docker exec -it devzw-scout bash
+
+echo "执行:停服调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/release" \
+&& cd ${project_path} \
+&& sudo docker-compose --file compose.yml down \
+&& sudo docker-compose --file compose.yml up --detach \
+&& sudo docker exec -it devzw-scout bash
+
+echo "执行:进入调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/release" \
+&& cd ${project_path} \
+&& sudo docker exec -it devzw-scout bash
+
+
+
+
+
+

+ 64 - 0
environment/test/Dockerfile

@@ -0,0 +1,64 @@
+# Ubuntu20.04
+FROM ros:noetic
+
+RUN apt-get update
+RUN apt-get install -y iputils-ping unzip
+
+COPY ./setup.bash ./setup.bash
+RUN echo "source ./setup.bash" >> /root/.bashrc
+RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc
+
+#RUN echo "Install OpenCV v4.2.0:" \
+#    && set -x \
+#    && apt-get update \
+#    && apt-get install -y libopencv-dev python3-opencv \
+#    && python3 -c "import cv2; print(cv2.__version__)"
+
+RUN echo "Install OpenCV v4.5.3 Dependencies:" \
+    && set -x \
+    && apt-get update \
+    && apt-get install -y cmake build-essential pkg-config ant \
+    && apt-get install -y libtiff5-dev libopenexr-dev libwebp-dev libpng-dev \
+    && apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libv4l-dev \
+    && apt-get install -y libgtk-3-dev \
+    && apt-get install -y libtesseract-dev \
+    && apt-get install -y libhdf5-dev \
+    && apt-get install -y libopenblas-dev libopenblas-base liblapacke-dev \
+    && apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
+    && apt-get install -y libtbb-dev \
+    && apt-get install -y python-numpy \
+    && echo "End."
+
+COPY ./download/opencv-v4.5.3.zip /opt/opencv-v4.5.3.zip
+COPY ./download/opencv-contrib-v4.5.3.zip /opt/opencv-contrib-v4.5.3.zip
+RUN echo "Install OpenCV v4.5.3:" \
+    && set -x \
+    && unzip -o /opt/opencv-v4.5.3.zip -d /opt/ \
+    && rm -f /opt/opencv-v4.5.3.zip \
+    && unzip -o /opt/opencv-contrib-v4.5.3.zip -d /opt/ \
+    && rm -f /opt/opencv-contrib-v4.5.3.zip \
+    && sed -i '56a\\  /usr/include/aarch64-linux-gnu' /opt/opencv/cmake/OpenCVFindOpenBLAS.cmake \
+    && sed -i '73a\\        /usr/lib/aarch64-linux-gnu' /opt/opencv/cmake/OpenCVFindOpenBLAS.cmake \
+    && cat /opt/opencv/cmake/OpenCVFindOpenBLAS.cmake \
+    && cd /opt/opencv \
+    && mkdir build \
+    && cd build \
+    && cmake -D CMAKE_BUILD_TYPE=RELEASE \
+        -D CMAKE_INSTALL_PREFIX=/usr/local \
+        -D WITH_CUDA=OFF \
+        -D INSTALL_PYTHON_EXAMPLES=ON \
+        -D INSTALL_C_EXAMPLES=OFF \
+        -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib/modules \
+        -D PYTHON_EXECUTABLE=/usr/bin/python \
+        -D BUILD_opencv_python3=ON \
+        -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
+        -D WITH_GSTREAMER=ON \
+        -D WITH_TBB=ON \
+        -D WITH_LIBV4L=ON .. \
+        -D OPENCV_ENABLE_NONFREE=ON \
+        -D WITH_PROTOBUF=ON \
+        -D BUILD_EXAMPLES=ON .. \
+    && make -j $(nproc) \
+    && make install \
+    && ldconfig \
+    && echo "End."

+ 26 - 0
environment/test/README-usage.bash

@@ -0,0 +1,26 @@
+## NOTE
+
+echo "执行:构建调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/test" \
+&& cd ${project_path} \
+&& sudo docker-compose --file compose.yml down \
+&& sudo docker-compose --file compose.yml up --detach --build \
+&& sudo docker exec -it devzw-scout-test bash
+
+echo "执行:停服调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/test" \
+&& cd ${project_path} \
+&& sudo docker-compose --file compose.yml down \
+&& sudo docker-compose --file compose.yml up --detach \
+&& sudo docker exec -it devzw-scout-test bash
+
+echo "执行:进入调试" \
+&& project_path="/media/nvidia/nvme0n1/server/repositories/repositories/SRI-SCOUT.SCOUT-cpp/environment/test" \
+&& cd ${project_path} \
+&& sudo docker exec -it devzw-scout-test bash
+
+
+
+
+
+

+ 40 - 0
environment/test/compose.yml

@@ -0,0 +1,40 @@
+version: '3.5'
+services:
+
+    devzw-scout-test:
+
+        # --- building ---
+        image: devzw-scout-test:2024
+        build:
+            context: ./
+            dockerfile: ./Dockerfile
+        environment:
+            TZ: Asia/Shanghai
+            LC_ALL: C.UTF-8
+            LANG: C.UTF-8
+
+        # --- binding ---
+        runtime: nvidia
+        ipc: host
+        shm_size: 8g  # 共享内存 默认64m
+        volumes:
+            - /media/nvidia/nvme0n1:/media/nvidia/nvme0n1
+            - /dev:/dev
+        network_mode: host
+
+        # --- running ---
+        container_name: devzw-scout-test
+        cap_add:
+            - SYS_ADMIN
+        privileged: true
+
+        # --- for debug ---
+        working_dir: /media/nvidia/nvme0n1
+        stdin_open: true
+        tty: true
+
+        # --- for release ---
+#        working_dir: /media/nvidia/nvme0n1/server/repositories/repositories/sri-project.demo-cpp
+#        command: bash run.sh
+#        restart: always
+

+ 8 - 0
environment/test/download/opencv-contrib-v4.5.3.txt

@@ -0,0 +1,8 @@
+# on aliyun
+sudo git clone https://github.com/opencv/opencv_contrib.git
+cd opencv_contrib
+sudo git switch --detach d5317d6
+git log
+cd .. && sudo zip -q -r opencv-contrib-v4.5.3.zip opencv_contrib
+
+

+ 8 - 0
environment/test/download/opencv-v4.5.3.txt

@@ -0,0 +1,8 @@
+# on aliyun
+sudo git clone https://github.com/opencv/opencv.git
+cd opencv
+sudo git switch --detach ad6e829
+git log
+cd .. && sudo zip -q -r opencv-v4.5.3.zip opencv
+
+

+ 7 - 0
environment/test/setup.bash

@@ -0,0 +1,7 @@
+#!/bin/bash
+
+
+
+
+# 查看当前目录下的文件和文件夹磁盘占用情况
+alias showdiskinfo="du -sh * | sort -hr | head"