物联网程序
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"sentinel/pkg/config"
|
||||
"sentinel/pkg/device"
|
||||
"time"
|
||||
|
||||
"sentinel/pkg/log"
|
||||
@@ -70,13 +71,23 @@ func (d *DockerManager) RunContainer(ctx context.Context) error {
|
||||
if err := d.StopAndRemoveContainer(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 创建容器
|
||||
log.Println("正在启动名为<", config.DOCKER_CONTAINER_NAME, ">的容器")
|
||||
resp, err := d.cli.ContainerCreate(
|
||||
ctx,
|
||||
&container.Config{
|
||||
Image: config.DOCKER_IMAGE,
|
||||
Env: []string{
|
||||
"DEVICE_ID=" + device.GetDeviceID(),
|
||||
"LD_LIBRARY_PATH=/opt/nvidia/deepstream/deepstream/lib" +
|
||||
":/opt/nvidia/deepstream/deepstream/lib/triton" +
|
||||
":/opt/nvidia/deepstream/deepstream/lib/rivermax" +
|
||||
":/opt/nvidia/vpi3/lib/aarch64-linux-gnu" +
|
||||
":/usr/lib/aarch64-linux-gnu" +
|
||||
":/usr/lib/aarch64-linux-gnu/nvidia" +
|
||||
":/usr/local/cuda-12.6/lib64",
|
||||
"GST_PLUGIN_PATH=/opt/nvidia/deepstream/deepstream/lib/gst-plugins",
|
||||
},
|
||||
Healthcheck: &container.HealthConfig{
|
||||
Test: []string{"CMD-SHELL", "echo ok"},
|
||||
Interval: 5 * time.Second,
|
||||
@@ -85,11 +96,19 @@ func (d *DockerManager) RunContainer(ctx context.Context) error {
|
||||
},
|
||||
},
|
||||
&container.HostConfig{
|
||||
Binds: config.DOCKER_CONTAINER_BINDS,
|
||||
NetworkMode: "host", // <-- 使用宿主机网络
|
||||
Runtime: "nvidia",
|
||||
Privileged: true,
|
||||
Binds: []string{
|
||||
"/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu:ro",
|
||||
"/opt/nvidia/deepstream/deepstream/lib:/opt/nvidia/deepstream/deepstream/lib:ro",
|
||||
"/opt/nvidia/vpi3/lib/aarch64-linux-gnu/:/opt/nvidia/vpi3/lib/aarch64-linux-gnu/:ro",
|
||||
"/usr/local/cuda-12.6/lib64/:/usr/local/cuda-12.6/lib64/:ro",
|
||||
"/tmp/argus_socket:/tmp/argus_socket",
|
||||
},
|
||||
NetworkMode: "host",
|
||||
},
|
||||
nil, // NetworkConfig
|
||||
nil, // Platform
|
||||
nil,
|
||||
nil,
|
||||
config.DOCKER_CONTAINER_NAME,
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user