Heim >Backend-Entwicklung >Golang >So führen Sie Docker-Mount-Volumes mit dem Docker Engine SDK und Golang aus
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!
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?
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
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, "", )
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, "", )
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!