docker

之前在学校帮老师做了一个小的web项目,做完之后拿去学校的服务器上配置。安装jdk,安装tomcat,安装数据库…安装了一堆东西,到最后反而因为和自己电脑中版本的问题不一致,导致出现了一些小问题,最后还在服务器上调试了很久才终于运行了起来,想想这个过程也是蛋疼。。。有没有什么办法能直接将我个人电脑的这些东西打包过去,不经历繁琐的配置,快速地运行起来呢。

直到最近由于技术的拓展,接触到了docker,原来早就有这么一套东西了,毕竟程序员都是懒的,早就有大佬对着这开发出了东西。

笔者技术水平不高,还是一名学生。个人感觉docker有点像git也有点像虚拟机,之前有稍微接触到git,而docker也有仓库这个概念,类比过去感觉确实是有点意思。对于镜像我个人感觉就是一堆打包好的软件,一堆有层次的软件集合,比如一个web项目,最底层就是jdk,上面是tomcat,再上面就是web项目。容器应该就是运行项目的载体,类似于虚拟机。

仓库

docker也有一个远程仓库,它提供了一堆的软件集,有jdk,tomcat,等等。通过这些软件,我们可以搭建项目的运行环境。个人也可以将自己制作的镜像上传到仓库中。

镜像

jdk+tomcat+项目+…这些东西组合起来就是镜像

容器

从远程库拉取镜像,运行镜像肯定需要载体,不然运行环境哪里来?docker这时候就提供类似于容器的作用。

端口映射

我们的项目是运行在docker中的,那别人如何来访问呢,docker类似于虚拟机,docker提供了虚拟机和主机之间端口映射的命令,可以将主机端口的访问映射到docker端口上。这样外部通过访问服务器主机的端口,进而访问docker里的应用程序。

常用的docker命令

网易的镜像中心:https://c.163.com/hub#/m/library/

docker images //查看当前docker本地仓库有哪些镜像

docker pull hub.c.163.com/library/nginx:latest  //从镜像中心查找需要拉取的镜像

docker run -d -p 8080:80 <image name> //将主机的8080映射docker的80端口,后台运行程序

docker ps //查看当前启动的镜像

docker stop <image id> 

docker restart	<image id>

docker exec  -it f4 bash //进入容器内部,可以看到文件目录,日志等等

通过Dockerfile构建镜像

以前面的小web项目为例,要构建一个镜像,需要tomcat镜像,拉取tomcat镜像(内部有jdk)

$ vi Dockerfile 
	from hub.c.163.com/library/tomcat                     //我们项目要依赖的运行环境
	COPY  xxx.war   /usr/local/tomcat/webapps  		//将我们的项目复制到tomcat的webapps下
$ docker build  -t xxx:latest   .	 	//构建镜像 -t 给镜像取名  .表示Dockerfile的存放位置

这样镜像就构建好了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值