docker-easyconnect
docker-easyconnect copied to clipboard
docker 重启 docker-easyconnect 的端口会丢失
docker 重启 docker-easyconnect 的端口会丢失
没用过 docker desktop,猜测是操作上的问题
docker 重启 docker-easyconnect 的端口会丢失
能描述一下你是怎么重启的吗?
docker 重启 docker-easyconnect 的端口会丢失
能描述一下你是怎么重启的吗?
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
docker 重启 docker-easyconnect 的端口会丢失
能描述一下你是怎么重启的吗?
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
有可能是docker-desktop的配置不太对?或者是docker-desktop出BUG了?方便试试其他有端口暴露出来的docker项目用类似的操作会不会也出现端口丢失的问题吗? 例如这个https://github.com/dnomd343/kms-server
docker 重启 docker-easyconnect 的端口会丢失
能描述一下你是怎么重启的吗?
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
有可能是docker-desktop的配置不太对?或者是docker-desktop出BUG了?方便试试其他有端口暴露出来的docker项目用类似的操作会不会也出现端口丢失的问题吗? 例如这个https://github.com/dnomd343/kms-server
重启后,kms服务的端口还在
docker 重启 docker-easyconnect 的端口会丢失
能描述一下你是怎么重启的吗?
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
有可能是docker-desktop的配置不太对?或者是docker-desktop出BUG了?方便试试其他有端口暴露出来的docker项目用类似的操作会不会也出现端口丢失的问题吗? 例如这个https://github.com/dnomd343/kms-server
启动的时候提示此镜像没有默认端口,我该如何设置默认端口呢?
启动的时候提示此镜像没有默认端口,我该如何设置默认端口呢?
我好像明白了,在 Dockerfile 中可以用 EXPOSE
命令“指定”容器要开放的端口(只是充当文档的作用)。我想 docker desktop 可能默认把 EXPOSE
指定的端口开放了,这个界面显示的应该也是 EXPOSE
指定的端口。
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
@thikiiii 我自己装了 docker desktop 测试了一下,现在我好像明白怎么回事了。那个重启按钮是重启整个 docker,而不是单独一个容器吧。
你是不是 docker run
里面带了 --rm
?如果是的话,容器(container)关闭之后会自动删除,而重启 docker 的时候会关闭容器从而使得容器被删除。而你重启之后是不是从镜像(image)那儿点击启动按钮来运行容器?这样它就会创建一个新容器,默认没做端口映射了。
你可以把 --rm
参数给删掉,这样容器就不会随着 docker 关闭而删除了,而 docker 启动之后你也可以继续在容器(container)界面来重新启动以前旧的容器(端口映射等等设置也会保留下来),而不是在镜像那儿启动一个新的容器。
另外我不太想在 EXPOSE
里面指定容器可用的端口,因为在很多情形下这些端口不是暴露出来使用的(而是只允许宿主机访问,bind 到 127.0.0.1
),只有当确保当前网络可信任的情况下才适宜暴露出来使用。但 docker 配合 EXPOSE
使用的主要是 -P
(--publish-all
)参数,它会把所有 EXPOSE
指定的端口都暴露在外(bind 到 0.0.0.0
和 ::
),而且据我所知,除了逐个端口进行设置也没有简便的办法来让它 bind 到 127.0.0.1
(如果有请告诉我)。
就是右键小鲸鱼图标,有一个重启的按钮,点重启后,docker-easyconnect的端口会丢失
@thikiiii 我自己装了 docker desktop 测试了一下,现在我好像明白怎么回事了。那个重启按钮是重启整个 docker,而不是单独一个容器吧。 你是不是
docker run
里面带了--rm
?如果是的话,容器(container)关闭之后会自动删除,而重启 docker 的时候会关闭容器从而使得容器被删除。而你重启之后是不是从镜像(image)那儿点击启动按钮来运行容器?这样它就会创建一个新容器,默认没做端口映射了。你可以把
--rm
参数给删掉,这样容器就不会随着 docker 关闭而删除了,而 docker 启动之后你也可以继续在容器(container)界面来重新启动以前旧的容器(端口映射等等设置也会保留下来),而不是在镜像那儿启动一个新的容器。另外我不太想在
EXPOSE
里面指定容器可用的端口,因为在很多情形下这些端口不是暴露出来使用的(而是只允许宿主机访问,bind 到127.0.0.1
),只有当确保当前网络可信任的情况下才适宜暴露出来使用。但 docker 配合EXPOSE
使用的主要是-P
(--publish-all
)参数,它会把所有EXPOSE
指定的端口都暴露在外(bind 到0.0.0.0
和::
),而且据我所知,除了逐个端口进行设置也没有简便的办法来让它 bind 到127.0.0.1
(如果有请告诉我)。
感谢解答,我试一试