以上操作在VMware 创建的虚拟机中完成,云服务器待验证网卡
1 构建镜像
1、 用DockerFile构建镜像
在 /usr/local/ddd 文件夹上传jar
同时创建DockerFile,内容如下
FROM java:8
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demomvc.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
2 进入该文件夹,然后运行
docker build -t mystorage .
# 注意 有个点在最后
3 查看镜像
docker images
4 运行镜像
ocker run -itd -p 9000:8080 mystorage --name=bbb /bin/bash
5 查看容器运行状态
docker ps : # 查看正在运行的容器
# docker ps -a :查看所有容器
此时使用宿主机ip+宿主机端口就可以访问,如果失败
先关闭防火墙,还不成功的话
进行如下网卡设置:
以下操作会使得虚拟机只能进行主机模式.导致无法访问外网.其他虚拟机也会上不了外网.慎用!!!
1 sudo service docker stop
2 sudo ip link set dev docker0 down %关闭docker虚拟网卡
3 sudo brctl delbr docker0
4 sudo iptables -t nat -F POSTROUTING
5 sudo brctl addbr docker0
// 172.16.10.1/24 是容器启动时候的ip
6 sudo ip addr add 172.17.0.1/16 dev docker0
7 sudo ip link set dev docker0 up %开启docker虚拟网卡
完事重启docker就好了
```bash
systemctl restart docker
针对上述第6步:
docker inspect containerID
大功告成!
使用宿主机ip+宿主机端口就可以访问
===============
以下为拓展:
感谢:Yun—Sani
文章
1进入容器查看jar是否可以运行
(1)进入容器,执行docker exec -it 712473452dda /bin/bash
docker exec -it 712473452dda /bin/bash
(2)访问localhost:8080/hello
发现容器里面是可以访问成功的
2 再容器外访问localhost:9000/hello
退出容器:
exit