So führen Sie Docker-Mount-Volumes mit dem Docker Engine SDK und Golang aus

PHPz
Freigeben: 2024-02-09 15:24:08
nach vorne
890 Leute haben es durchsucht

如何使用 Docker 引擎 SDK 和 Golang 运行 docker 安装卷

Der PHP-Editor Xigua stellt Ihnen heute vor, wie Sie das Docker-Engine-SDK und Golang zum Ausführen von Docker-Installationsvolumes verwenden. Docker ist eine beliebte Containerisierungsplattform und das Docker Engine SDK ist eine API-Bibliothek für die Interaktion mit der Docker Engine. Golang ist eine leistungsstarke Programmiersprache, die in Verbindung mit dem Docker Engine SDK verwendet werden kann, um eine flexiblere Containerverwaltung zu erreichen. In diesem Artikel wird detailliert beschrieben, wie Sie Docker-Engine-SDK und Golang zum Erstellen, Verwalten und Ausführen von Docker-Installationsvolumes verwenden, sodass Sie Docker besser für die Anwendungsentwicklung und -bereitstellung nutzen können. Lasst uns beginnen!

Frageninhalt

Ich schaue mir die Docker-Engine-SDK-Dokumentation (https://docs.docker.com/engine/api/sdk/) an, die sich auf die Ausführung von Docker mit Golang bezieht Ich möchte einen Container ausführen (gut dokumentiert), kann aber nicht herausfinden, wie ich ein Volume bereitstellen kann, während der Container ausgeführt wird.

Meine Idee ist, das Docker SDK zu verwenden, um den entsprechenden Befehl auszuführen: docker 运行 -v $PWD:/tmp myimage Die Golang OS Exec-Bibliothek wird jedoch nicht ausgeführt.

Ist das möglich?

Problemumgehung

Der Abschnitt mit den Beispielen enthält das meiste, was Sie brauchen:

https://docs.docker.com/engine/api/sdk/examples/#run-a-container

Es ist wichtig, sich daran zu erinnern docker run ..., dass es beides ist

  1. Erstellen Sie einen Container
  2. Starten Sie einen Container

Abkürzung für docker run -v docker run --mount type=bind,source="$(pwd)"/target,target=/app

    resp, err := cli.containercreate(ctx, &container.config{
        image: "alpine",
        cmd:   []string{"echo", "hello world",},
      },
      &container.hostconfig{
        mounts: []mount.mount{
          {
             type: mount.typebind,
             source: "/local/dir",
             target: "/app",
          },
        },
     },
     nil,
     "",
   )
Nach dem Login kopieren

Wenn Sie nur eine Datei möchten

    resp, err := cli.ContainerCreate(ctx, &container.Config{
        Image: "alpine",
        Cmd:   []string{"echo", "hello world",},
      },
      &container.HostConfig{
        Binds: []string{
          "/local/dir/file.txt:/app/file.txt",
        },
      },
      nil,
      "",
   )
Nach dem Login kopieren

Verwandt:

Das obige ist der detaillierte Inhalt vonSo führen Sie Docker-Mount-Volumes mit dem Docker Engine SDK und Golang aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!