docker容器中启动tomcat遇到的端口问题
上篇博文中tomcat已经成功启动,按照同样的方法,在docker容器中进行配置,tomcat启动是没有问题的,但是我要在浏览器中访问容器中的tomcat是访问不到的,考虑到可能是端口的问题
容器中的端口要映射到宿主机的端口,浏览器通过访问宿主机的端口来访问容器中的端口,在创建容器的时候可以加上-p参数进行端口的映射
如果我已经建好容器,可以通过修改容器配置文件来添加端口
配置文件在docker默认安装路径下
/var/lib/docker/containers/d10734be7a1adda21dbc3b422e28f7bfe01b89a23ade133f375ee78719683bf9
d10734be7a1adda21dbc3b422e28f7bfe01b89a23ade133f375ee78719683bf9这一长串是容器的ID,找到要配置的容器的ID进去即可看到下面两个配置文件
修改config.v2.json 和hostconfig.json这俩文件
(1)修改hostconfig.json
下图这个配置项,可以改成 “PortBindings”:{“8180/tcp”:[{“HostIp”:"",“HostPort”:“8180”}]}这里8180/tcp是容器端口,8180 是本地端口
(2)修改config.v2.json
添加一个配置项 “ExposedPorts”:{“8180/tcp”:{}},
将这个配置项添加到 “Tty”: true, 前面,这个是将容器内部端口暴露出来,如果不加这一句端口映射不会成功的
最后重启 docker容器
docker restart 容器名
浏览器访问http://14.1.11.111:8180,即可访问到容器中的tomcat