初次体验Docker

9 篇文章 0 订阅
3 篇文章 0 订阅

最近在做微信小程序,后台用的Springboot。以前一直放在服务器的Tomcat里跑。

感觉不爽,想试下“风靡全球”的Docker来跑一跑。

参考了这位老哥教程:https://blog.csdn.net/caox_nazi/article/details/78366584

没想到遇到很多阻力。

1、首先在我的Centos7(云服务器)上安装Docker -CE

在配置加速器的时候遇到了坑,配置文件少了个符号  命令:sudo vim /etc/docker/daemon.json

坑:

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

注:一定要配置加速器,不然pull速度(如下图)

配置了加速器。嘻嘻

配置加速器教程:https://blog.csdn.net/u013372487/article/details/77169430

 

2、安装完毕。

输入docker info

有点东西 ,美滋滋

3、打包本地springboot项目

。。。(按照教程里走)

当当当。。。。坑来了,我嫌教程里jar包名字不好看 ,自己取了个符合自己气质的jar包名,哈哈。然而Dockerfile里什么都没改

完了 出毛病了

4、执行docker打包命令 sudo docker build -t docker .(这里有个点)

完了完了

跳出来一个找不到 docker_spring_boot.jar 的错误。原本没看到,就屁颠屁颠去发布去了。

发布也是用的教程里的-的-d(后台运行)命令。(docker run -d -p 8080:8080 docker

结果错误也没报,发布没成功。本地远程都访问不了 localhost:8080

找了半天,终于发现是Dockerfile问题。于是乎改成和jar包符合。(我的jar包名:bzmovie-docker.jar)

OK.大功告成。

5、发布应用。

最后一个坑。

命令:docker run -d -p 8080:8080 bzmovie

运行此命令,发现还是访问不了。改成9090:9090 ,8081:8081....

还是不行,又找半天,找到发布docker应用的日志,发现tomcat启动在80端口。又想到了docker的端口映射机制:

**************************************************************

 将容器指定端口指定映射到宿主机的一个端口上。

1

docker run -p 8000:80 -it ubuntu /bin/bash

以上指令会将容器的80端口映射到宿主机的8000端口上。

***************************************************************

冷静分析了一下。

(1)假如我想用我的ip:8080 这样访问 

则我应该这样发布

docker run -d -p 8080:80 bzmovie(前面是springboot中tomcat的发布端口。后面我想能访问的端口。并且能同时在多个端口发布同一个应用)

 

(2)如果我想直接ip访问,即ip:80,命令应该这样

docker run -d -p 8080:80 bzmovie

查看docker进程。果不其然。

至此网站已经能正常访问。本人小菜鸟一枚。啥都没准备就直接把Docker拿过来想开箱即用,遇到了不少坑。在此记录一下,避免下次遇到,同时和大家共勉!嘻嘻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值