一:随意创建目录dock,准备好如下文件:
二、编写Dockerfile,通过它能快速地构建docker镜像
viDockerfile
新增如下配置
FROMcentos
MAINTAINERthisisdockimage
ADDjdk1.8.0_191/usr/local/java
ENVJAVA_HOME/usr/local/java
ENVJAVA_BIN/usr/local/java/bin
ENVJRE_HOME/usr/local/java/jre
ENVPATH$PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENVCLASSPATH/usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
ADDapache-tomcat-8.5.40/usr/local/tomcat8
ENTRYPOINT[“/usr/local/tomcat8/bin/catalina.sh”,”run”]
ADD./manager.war/usr/local/tomcat8/webapps
EXPOSE8080
解释:
(1)FROMcentos表明从docker官方库房中获取centos基础镜像
(2)ADDjdk1.8.0_191/usr/local/将当时目录下(与Dockerfile同一级目录)的jdk添加到镜像的/usr/local/中
(3)ENVJAVA_HOME/usr/local/jdk1.8.0_191设置Java的环境变量
(4)EXPOSE8080对外露出的端口,便于外部拜访
(5)CMD/usr/local/tomcat8/bin/catalina.shrun容器运转后履行的指令,假如有多条CMD也只要最后一条有效。
三、构建镜像
指令:dockerbuild-tdock.(dock后边空格.)完结主动完结构建。dock标识镜像名称
四、运转容器
指令:dockerrun-d-p8060:8080dock
-d表明后台运转容器,并返回容器ID
-p运用端口映射,8060:8080表明将容器的8080端口映射到主机的8060端口。
查看运转的所有容器
指令:dockerps-all
五、测验布置成果ip:8060假如呈现tomcat页面,阐明容器发动成功。
docker部署web项目nginx
Nginx是一款灵活、安稳、高效、低消耗的轻量级Web服务器,支持HTTP、反向代理及电子邮件(IMAP/POP3/SMTP)等服务。Nginx也是一个跨平台的服务器,能够运转在Linux、Windows、MacOS等操作系统上。并且Nginx具有安稳的高性能、丰厚的模块库、灵活的装备、占用内存少、并发能力强、响应速度快等优势,并且还开源免费深受业界追捧和公司喜爱也因此得到很多企业的广泛应用。
查询nginx镜像
安装之前咱们先从DockerHub上查找下是否存在nginx镜像,经过docker供给的search指令来查询DockerHub官方仓库中的镜像。指令格局为:dockersearch[options]keyword,输出内容包括镜像称号、镜像描绘、保藏数、是否官方创立、是否主动创立等信息,默许输出的结果按保藏数进行排序。这儿咱们能够看到docker仓库供给了很多nginx镜像,最受欢迎的仍是官方的nginx。
下载nginx镜像
已然有nginx镜像咱们就能够直接拉取下来,docker供给了拉取指令:dockerpull[options]/:,该指令表示从origin远程仓库(默许DockerHub)中的repository仓库拉取标签为tag的镜像(如果省略标签则拉取标签为latest的镜像)。这儿我直接运用指令:dockerpullnginx,能够从DockerHub下载最新版别的nginx。
查看docker镜像
经过指令:dockerimages或者dockerimagels能够列出本机已有的镜像,REPOSITORY资源仓库名,TAG指镜像的标签信息,IMAGEID:是镜像的ID(唯一的),CREATED:指镜像最终的更新时刻,SIZE:指镜像的巨细。这儿咱们能够查看到nginx已经存在,该镜像巨细为133MB(还不小哦,前次下载Windows版的nginx才1.68MB)。
运转nginx容器
发动容器能够经过指令:dockerrun[OPTIONS]IMAGE[COMMAND][ARG…]来发动容器,能够经过装备参数来指定nginx的容器称号和运转形式等。这儿咱们运转一个展现vue项目的nginx服务并指定拜访ip为8001,其指令为:dockerrun–namenginx-vue-p8001:80-dnginx。-p表示端口映射将本地的8001端口映射到容器内部的80端口,-d则是指定该容器一直在后台运转。
验证nginx发动成功
在浏览器中输入地址:http://127.0.0.1:8001/,回车就看到了解的“Welcometonginx!”则说明咱们的nginx就已经发动成功了。
创立nginx目录
这儿咱们需要在主机上创立用于映射nginx文件的目录,用于寄存nginx的默许装备文件和静态文件。这儿咱们一般触摸的是nginx的装备文件、日志文件和布置文件,这儿我在opt中创立创立nginx目录来寄存这些文件。创立目录的指令为:mkdir-p/opt/nginx/html/opt/nginx/logs/opt/nginx/conf/opt/nginx/conf.d,其中-p指递归创立目录(如果上级目录不存在,会按目录层级主动创立目录)。html目录作为nginx容器装备的项目布置目录,logs目录作为nginx容器的日志存储目录,conf目录作为nginx容器的装备文件。创立好之后将nginx默许的装备文件复制过来便利直接运用,执行指令:dockercp5f07c5049a26:/etc/nginx/nginx.conf/opt/nginx/conf(其他文件自己看需求是否复制)。
映射并发动nginx
docker运转容器时供给了参数-v能够用来与宿主机绑定挂载目录,参数格局为:-v宿主机目录>:容器目录>。-v/opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将宿主机中的nginx.conf挂载到容器的/etc/nginx/nginx.conf。-v/opt/nginx/conf/conf.d:/etc/nginx/conf.d:将宿主机的conf.d目录挂载到容器的/etc/nginx/conf/conf.d。-v/opt/nginx/html:/usr/share/nginx/html:将宿主机的html目录挂载到容器的/usr/share/nginx/html。-v/opt/nginx/logs:/var/log/nginx:将宿主机的logs挂载到容器的/var/log/nginx。这样docker中的nginx就会加载宿主机中对应的文件目录了,这样咱们就能够很便利的在宿主机中对docker中的nginx进行装备了。
上传打包的项目文件
将vue打包好的文件上传到html目录中,再次打开浏览器拜访地址http://127.0.0.1:8001/就能够看到咱们自己的项目了。这儿我用的是FinalShell东西(xshell也不错,配带xftp相同能够便利的上传文件),能够直接将文件拖拽到服务器。
总结:
Docker布置nginx等应用仍是很便利的,直接拉取下来就能够运转。简略的装备下能够运用了,剩余的操作和在centos都是相同的。以上内容是小编