1.docker的好处
在开发中可能会遇到一个问题,一个程序在自己电脑上能跑,但是换到服务器上就不行了。如果我们重新搭建环境,需要重新部署mysql,es,redis等组件很麻烦。有了docker之后,我们可以快速完成项目的部署。同时docker的隔离机制可将服务器的资源发挥到极致。
docker run相当于启动一个容器,该容器可以对进程进行隔离,有了容器,我们可以将软件运行所需的所有资源打包到一个隔离的容器中,容器和虚拟机有所不同,不需要捆绑一整套操作系统,只需要软件工作所需要的资源和设置。系统因此变得高效轻量并保证部署到任何环境中的软件都能始终如一的运行。
2.docker的常用命令
docker search xx 从docker镜像仓库检索镜像
docker pull xx 将镜像拉去下来
docker run mysql启动mysql镜像 会产生一个容器实例 docker run -d 镜像名称:版本号 -d是在后台启动
docker ps 查看所有正在运行状态的docker容器 -a是看所有的,包含exit的
docker stop+容器id,停止当前实例 docker start/restart 容器id
docker rm 容器id 删除当前实例
docker rmi 镜像id 删除镜像
docker images 查看拉下来的所有镜像
docker logs -f +容器id 查看某个实例的日志
docker build -t 镜像名称:版本号 ,: 构建一个实例[Dockerfile]
3.docker根据Dockfile构建镜像,并且启动springboot镜像
第一步,将jar包上传到服务器上(FTP/或者通过rz -be都行),创建一个文件夹放进去。
第二步,创建Dockerfile文件
注意文件名必须是“Dockerfile”,文件和上面的jar包放在同级目录下面。
文件内容:
FROM openjdk:8
COPY *.jar /app.jar
CMD ["--server.port=8081"]
EXPOSE 8081
ENTRYPOINT ["java","-jar","/app.jar"]
第三步,通过指令来构建镜像,注意服务器需要有Java环境。
后面的镜像名称和版本都是自己指定的。
查看镜像是否已经构建好了。
第四步,启动容器实例
4.服务器开启虚拟内存
docker有很多优势,但是同样也会对性能造成8%到20%的损耗,因此我们需要开启虚拟内存来中和这种压力。
第一步,创建一个文件夹,名字任意
mkdir chengyi
第二步,执行指令。
dd if=/dev/zero of=/file/swap bs=1024 count=4096000
第三步,执行指令。
mkswap /file/swap
swapon /chengyi/swap