Rumah  >  Soal Jawab  >  teks badan

docker - 容器commit为镜像,再run成container, 端口映射丢失 该如何理解.

问个问题啊, 我run 了一个container hello,通过-p参数 映射主机端口 和 容器端口.

sudo docker run -d --name hello -p 8080:8080 -m 268435456 ubuntu:14.04 bin/bash -c "while true;do echo hello $(date); sleep 2; done"

然后通过 commit 命令生成新的镜像 sudo docker commit hello hello-image .
在然后, 基于该镜像,使用docker run -d hello-image 重新运行一个新的容器(这个时候并没有指定-p参数).
新生成的容器 是没有 端口映射的,而且也没有之前容器设置的-m参数信息.

我的问题是: 如何理解新生成的容器没有映射端口和 内存限制这两项信息? 什么参数是属于容器的,什么参数是属于镜像的呢?

ringa_leeringa_lee2758 hari yang lalu844

membalas semua(3)saya akan balas

  • 阿神

    阿神2017-04-24 09:11:34

    Apabila bekas dimasukkan ke dalam cermin, hanya fail statik akan dikekalkan, kerana bekas itu sendiri juga dihentikan pada masa ini

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-24 09:11:34

    Anda perlu menempah port atau gunakan fail docker untuk membuka port dan gunakan arahan -P semasa mencipta bekas.
    Atau masih berjalan sama seperti cara anda menentukan port di atas. Jika tidak, port tidak akan dibuka dan semua yang berkaitan dengan hos mesti ditentukan secara dinamik apabila bekas perlu dibuat.
    sudo docker run -d --name hello -p 8080:8080 -m 268435456 ubuntu:14.04 bin/bash -c "while true;do echo hello $(date); sleep 2; done"

    balas
    0
  • ringa_lee

    ringa_lee2017-04-24 09:11:34

    Pemetaan pelabuhan adalah milik bekas dan tidak akan wujud dalam imej Ia mesti dinyatakan setiap kali ia dijalankan.

    balas
    0
  • Batalbalas