Maison > Article > développement back-end > Comment exécuter des volumes de montage Docker à l'aide du SDK Docker Engine et de Golang
L'éditeur php Xigua vous présentera aujourd'hui comment utiliser le SDK du moteur Docker et Golang pour exécuter le volume d'installation de Docker. Docker est une plate-forme de conteneurisation populaire et le SDK Docker Engine est une bibliothèque d'API permettant d'interagir avec Docker Engine. Golang est un langage de programmation puissant qui peut être utilisé conjointement avec le SDK Docker Engine pour obtenir une gestion des conteneurs plus flexible. Cet article présentera en détail comment utiliser le SDK du moteur Docker et Golang pour créer, gérer et exécuter des volumes d'installation Docker, vous permettant ainsi de mieux utiliser Docker pour le développement et le déploiement d'applications. commençons!
Je consulte la documentation du SDK du moteur Docker (https://docs.docker.com/engine/api/sdk/) relative à l'exécution de Docker avec Golang Je souhaite exécuter un conteneur (bien documenté) mais je ne trouve pas comment monter un volume lors de l'exécution du conteneur.
Mon idée est d'utiliser le SDK Docker pour exécuter la commande équivalente :
docker 运行 -v $PWD:/tmp myimage
Mais la bibliothèque Golang os exec n'est pas exécutée.
Est-ce possible ?
La section exemples contient la plupart de ce dont vous avez besoin :
https://docs.docker.com/engine/api/sdk/examples/#run-a-container
C’est important de se rappeler docker run ...
C’est un peu des deux
Abréviation de 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, "", )
Si vous ne voulez qu'un seul fichier
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, "", )
Connexe :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!