Cara menjalankan volum pelekap docker menggunakan SDK Enjin Docker dan Golang

PHPz
Lepaskan: 2024-02-09 15:24:08
ke hadapan
917 orang telah melayarinya

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

editor php Xigua hari ini akan memperkenalkan kepada anda cara menggunakan SDK enjin Docker dan Golang untuk menjalankan volum pemasangan docker. Docker ialah platform kontena yang popular, dan Docker Engine SDK ialah perpustakaan API untuk berinteraksi dengan Docker Engine. Golang ialah bahasa pengaturcaraan berkuasa yang boleh digunakan bersama dengan Docker Engine SDK untuk mencapai pengurusan kontena yang lebih fleksibel. Artikel ini akan memperkenalkan secara terperinci cara menggunakan SDK enjin Docker dan Golang untuk mencipta, mengurus dan menjalankan volum pemasangan docker, membolehkan anda menggunakan Docker dengan lebih baik untuk pembangunan dan penggunaan aplikasi. Mari mulakan!

Kandungan soalan

Saya sedang melihat dokumentasi SDK enjin docker (https://docs.docker.com/engine/api/sdk/) yang berkaitan dengan menjalankan Docker dengan Golang Saya ingin menjalankan bekas (didokumentasikan dengan baik) tetapi saya tidak dapat mencari cara untuk melekapkan volum semasa menjalankan bekas.

Idea saya ialah menggunakan Docker SDK untuk menjalankan arahan yang setara: docker 运行 -v $PWD:/tmp myimage Tetapi perpustakaan Golang os exec tidak dilaksanakan.

Adakah ini mungkin?

Penyelesaian

Bahagian contoh mengandungi kebanyakan perkara yang anda perlukan:

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

Penting untuk diingat docker run ... Ini sedikit daripada kedua-duanya

  1. Buat bekas
  2. Mulakan bekas

Singkatan untuk 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,
     "",
   )
Salin selepas log masuk

Jika anda hanya mahu satu fail

    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,
      "",
   )
Salin selepas log masuk

Berkaitan:

Atas ialah kandungan terperinci Cara menjalankan volum pelekap docker menggunakan SDK Enjin Docker dan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan