分类 默认分类 下的文章

一、编写Dockerfile

FROM tomcat:8.5

#维护者
MAINTAINER xxx@163.com

#设置时区
ENV TZ=Asia/Shanghai

#将target下的xx.war拷贝到/usr/local/tomcat/webapps/下
ADD ./target/xxx.war /usr/local/tomcat/webapps/

#端口
EXPOSE 8080

#设置启动命令
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

二、打包镜像

docker build -t xxx:1.1.0 . 

三、推送
登录Docker镜像仓库
首先需要在命令行中登录Docker镜像仓库,例如Docker Hub。可使用以下命令:

docker login

执行该命令后会提示输入用户名和密码。

打标签(tag)镜像
使用docker tag命令打标签,将本地构建的镜像与仓库中的镜像进行关联。例如:

docker tag <image-name:tag> <username>/<repository>:<tag>

其中,<image-name:tag>为本地构建的镜像名及版本号,为Docker Hub账户名,为仓库名,为自定义的标签。

推送镜像
使用docker push命令将标记的镜像推送到Docker镜像仓库中。例如:

docker push <username>/<repository>:<tag>

如果推送成功,命令行会显示推送的镜像的详细信息。

注意:在推送镜像前,需要确保已经成功登录Docker镜像仓库,并且已经打好了标签。

方法一:

前往 设置——隐私与安全性——安全性(在设置最下面)——“强制打开已拦截的xxxx.app”

方法二:

应用程序-实用工具中打开终端,用命令行打开“任何来源”功能:

sudo spctl --master-disable

“任何来源“就自动打开了:

打开任何来源之后还不能打开软件,可以进行修复命令。应用程序-实用工具中打开终端,输入命令

sudo xattr -d com.apple.quarantine

后面加一个空格,然后把打不开的应用拖动到空格后面

生成完整的命令,回车

输入电脑密码,回车即可

回到应用程序中,用鼠标右击即可打开软件。

如果右键菜单的「打开方式」里出现了已不存在的应用程序或者重复的项目,打开终端,执行以下命令:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system-domainuser

此命令的作用是重建 LaunchServices 的数据库,这样重复或无效的项目就会被清理掉了。

原因:MacOS在新版系统中已经不内置python2.7,但是electron-builder在v23.0.2之前仍然使用/usr/bin/python打包dmg文件,因此出现该问题(vue-cli-plugin-electron-builder内置的electron-builder在本文创作时版本为v22.14.13)

解决方案:

打开YourProjectPath/node_modules/dmg-builder/out/dmg.js
修改/usr/bin/python为自己的python2.7路径(自行安装后可使用which python或which python2查看)
正常打包即可