Docker制作后端项目镜像

第一步 下载Docker
使用的是CentOS7,内核低于3.0好像不行,查看内核命令 uname -r

yum install docker 

常用docker命令
启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看镜像: docker images
搜索镜像:docker search 镜像名称
下载镜像:docker pull 镜像名称
删除镜像:docker rmi
删除容器:docker rm
查看容器:docker ps
查看停止的容器:docker ps -a
查看最后一次运行的容器:docker pa -l

第二步 创建文件夹 mkdir docker
然后cd docker/
创建Dockerfile文件

# Docker image for springboot file run
# VERSION 0.0.1
# Author: pibigstar
# 基础镜像使用java
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD 上传jar名称.jar 更改的名称.jar                        
# 运行jar包
RUN bash -c 'touch /更改的名称.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/更改的名称.jar"]

在这里插入图片描述
在这里插入图片描述

第三步 生成Docker镜像

docker build -t 生成的镜像名称 .

生成的镜像名称后面两个空格一个点切记

第四步 查看镜像是否生成docker images,然后生成容器

生成守护式容器名为linsir_web端口映射9000映射到容器内端口9000

docker run -di --name=linsir_web  -p 9000:9000 镜像名称

这样子镜像就制作完成了,还需要依赖数据库容器

docker search mysql
docker pull mysql

下载 版本根据个人决定,8.0的mysql需要设置
8.0版本的 root的用户的加密方式为caching_sha2_passoword, 而navicat连接所用的方式为native_password。mysql为远程连接和本地连接提供了不同的密码验证方式。

select host,user,plugin,authentication_string from om mysql.user;er;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'server';
FLUSH PRIVILEGES;     #最后刷新下权限

再用SQLyog或者navicat远程连接测试一下能否连接成功
记得项目内applilcation配置文件中mysql路径要配置容器内数据库服务器ip与端口
查看容器ip信息 命令
docker inspect 容器名称
容器处于运行状态才可以看到IP

在这里插入图片描述

运行容器打开浏览器测试一下就OK啦,后端包就部署成功了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐