在正常安装好docker,pullupsource镜像后,运行upsource容器,然后根据提示local host:8080在浏览器登陆,发现连接不上,访问被拒绝。
开始以为是虚拟机防火墙的问题,可是关闭防火墙还是访问不了。经过分析后发现问题的关键所在是端口问题。
从图可以看出,正常运行容器后,会有一个对应的端口8080,但是这个端口是docker给容器分配的虚拟8080 端口,不是虚拟机的8080端口,所以需要对这个虚拟8080端口做一个映射,映射到虚拟机的真实端口,这样才可以被远程访问识别。
由于upsource本身默认端口是8080,为了后面设置简单,所以这里直接将docker的8080端口映射到虚拟机的8080端口。登陆就是local host:8080(虚拟机IP)
配置过程:
关掉容器、关闭docker,进入目录
cd /var/lib/docker/containers/effbe51fdd54 *(这里是容器ID)
更改这两个文件
增加一个映射, 这样写:
“PortBindings”:{“8080/tcp”:[{“HostIp”:"",“HostPort”:“8080”}]}
前一个数字是容器端口, 后一个是宿主机端口。
如果config.v2.json里面也记录了端口,也要修改。由于我的文件里面没有记录端口信息,借用别人图片。跟hostconfig.json一样配置。
然后再打开docker、打开容器,查看就可以发现,端口已经映射过来了。
这样就可以正常使用了。