Docker部署Web应用指南

Docker部署应用指南

一、Docker的安装

Docker的安装在不通操作系统下有不同的安装方式

1.win7、win8安装docker

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ (没有安装git的则需勾选Git for Windows)

在这里插入图片描述

安装完成后桌面会有这三个程序

在这里插入图片描述

点击 Docker QuickStart 图标来启动 Docker Toolbox 终端,如果docker安装成功则会出现下图

img

(其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。)

2.win10安装docker

Docker for Windows分为企业版>教育版>专业版>家庭版。(家庭版的不能开启Hyper-V,所以最低要专业版)

如果系统不符合运行Docker for Windows的要求,则可以安装Docker Toolbox,Dockbox Toolbox使用Oracle Virtual Box而不是Hyper-V。

在控制面板>程序和功能>打开或关闭Windows功能勾选Hyper-V

然后在CMD下运行此命令开启Hyper-V

bcdedit /set hypervisorlaunchtype auto

这样就可以下载安装包了,在docker官网下载Docker for Windows https://www.docker.com/get-started

下载完进行安装启动,右下角会有小图标出现显示Docker Desktop is running 就说明docker启动好了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnTJeKan-1584088770233)(C:\Users\51966\AppData\Roaming\Typora\typora-user-images\image-20200313142208712.png)]

3.linux下安装docker

* 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

* 设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

* 安装 Docker-CE
yum install docker-ce

* 启动 Docker-CE
systemctl enable docker
systemctl start docker

二、制作docker镜像

1.通过dockerfile在本地制作镜像

创建一个文件夹,里面放入打包好的war或者jar包,还需放入docekrfile文件,然后通过docker bulid命令来制作镜像

Dockerfile文件:

FROM java:8

ADD blog-2.2.0.RELEASE.jar app.jar

ADD application.yml /

RUN bash -c 'touch /app.jar'

EXPOSE 8084

ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

在dockerfile当前路径下输入命令 :docker build -t [镜像名称] [本地路径] 命令来制作镜像

 docker build –t mytest .

2.利用maven插件来进行制作镜像,并推送到远程仓库中(阿里云仓库)

在项目的pom.xml中加入插件信息,再配置maven的setting.xml在servers节点下添加阿里云仓库的账号信息。

pom.xmlr如下:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
	<version>0.4.13</version>
	<configuration>
	<!--镜像名称-->
	<imageName>${docker.repostory}/${docker.registry.name}</imageName>
	<!--指定标签-->
	<imageTags>
	<imageTag>blog2</imageTag>
	</imageTags>
	<!-- 指定Dockerfile所在的路径 -->
	<dockerDirectory>./</dockerDirectory>
	<resources>
  		<resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
        </resource>
	</resources>
	<serverId>docker-aliyun</serverId>
	<registryUrl>${docker.repostory}</registryUrl>
	<pushImage>true</pushImage>
	</configuration>
</plugin>

maven的setting.xml

<server>
      <!--maven的pom中可以根据这个id找到这个server节点的配置-->  
      <id>docker-aliyun</id>
      <!--这里是在阿里云注册的账号-->
      <username>xxx</username>
      <!--这里是在阿里云注册的密码-->
      <password>xxx</password>
      <configuration>
            <!--这是在阿里云注册时填写的邮箱-->
            <email>xx@qq.com</email>
      </configuration>
</server>

最后通过maven插件的docker build 命令

三、镜像的拉取、导入、导出

*镜像的拉取 //默认在docker Hub中拉取镜像
docker pull [镜像名称]:[镜像版本号]

docker pull registry.cn-hangzhou.aliyuncs.com/kinggrid/yypt:[镜像版本号] 

例:docker pull redis


*镜像的导出
docker save -o [.tar文件的名称] [镜像名称]  (导出镜像)

例: docker save -o images.tar myblog 
(docker export -o images.tar myblog (导出容器))


*镜像的导入

docker load -i images.tar   导入镜像
(docker import images.tar myblog (导出容器))

四、容器部署

*容器部署

docker run -d -p [宿主机的端口号]:[容器的端口号] -v [挂载的本地路径]:[容器内部路径] --name=[命名容器的名称] [镜像名] 
 
例:
docker run -d -p 8084:8084 -v "G:/dockerfile/application.yml":/application.yml --name=myblog myblog

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值