Docker* 记录,镜像制作,tomcat,mysql部署一个项目

Docker

docker 是一个开放源代码软件项目,基于GO语言
docker 可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,
docker打包好了的容器,可以发布到任何流行的linux机器上,也可以实现虚拟化
容器是完全使用沙箱机制,相互之间不会有任何接口(类似手机的app)
docker容器性能开销极低,这个才是关键
docker从17.03版本之后分为ce和ee,我们用ce社区版就可以了
docker使用客户端-服务器(c/s)架构模式,使用API来管理和创建docker容器。

k8s:对容器的编排管理

2 docker与传统的vm对比
启动速度
vm 一般几十秒,或者几分钟
docker 毫秒级

传统虚拟机技术基于安装在主操作系统上的虚拟机管理系统(virtualBox和VMWare等),创建虚拟机(虚拟出各种硬件),在虚拟机上安装操作系统,再从操作系统中安装部署各种应用。

docker应用场景

Web应用的自动化打包和发布
自动化测试和持续集成,发布
在服务型环境中部署和调整数据库或其他的后台应用
使用docker可以实现开发人员的开发环境,测试人员的测试环境,运维人员的生产环境的一致性。

docker的组成

docker镜像images, docker镜像是用于创建Docker容器的模板,镜像是基于联合文件系统的一种层式结构,由一系列指令一步步构建出来

docker 容器container, 容器是独立运行的一个或一组应用。镜像相当于类,容器相当于类的实例

docker客户端, docker客户端通过命令行或者其他工具使用Docker API与docker的守护进程通信

docker主机,一个物理或者虚拟的机器用于执行docker守护进程和容器。

docker守护进程,是docker服务器端进程,负责支持docker容器的运行以及镜像的管理。

docker仓库dockerHub, docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。docker hub提供了庞大的镜像集合供使用。用户也可以将自己本地的镜像推送到docker仓库供其它人下载

开发提供了jar包和数据库文件,怎么部署到docker

1 首先通过xftp把数据库和jar包上传到云服务器

db_shopping.sql 和Shopping.war
在这里插入图片描述

2 制作镜像

创建tomcat 镜像

输入命令
vi Dockerfile-tomcat
在编辑模式输入以下内容:
FROM tomcat
COPY Shopping.war /usr/local/tomcat/webapps
保存后退出

输入命令:(注意,最后面有个 . 不能少)
docker build -f Dockerfile-tomcat -t tftomcat:v1 .
在这里插入图片描述

创建mysql 镜像

vi Dockerfile-mysql

输入内容:
FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ADD db_shopping.sql .

执行构建命令
docker build -f Dockerfile-mysql -t tfmysql:v1 .
在这里插入图片描述

项目运行,启动数据库和tomcat里面的项目

1 启动数据库
第一步 创建数据存放目录
mkdir -p /tfproject/mysql/data
第二步:创建并运行mysql 容器,同时设置密码123456
docker run -di --name tfmysqlA -v /tfproject/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 tfmysql:v1
在这里插入图片描述
2 启动tomcat里的项目,并且连接mysql数据库
docker run -di --name tftomcatAA -p 8082:8080 --link tfmysqlA tftomcat:v1
在这里插入图片描述
访问项目服务:
http:ip:8082/Shopping/

如果访问不了,注意关闭防火墙,开放端口(阿里云安全组设置)
systemctl stop firewalld

镜像导出文件分享给其他人,(也可以上传到镜像库)

#导出镜像
docker save -o tftomcat1.tar tftomcat
#加载恢复镜像
docker load -i ftomcat1.tar

常用命令

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值