Parsing Linux multi-application docker automatic deployment script
摘要: Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署
Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署
参数:
镜像名:端口的格式:版本号
例如:spring-client:8764:0.0.1
1.先用maven install 打包项目到target目录下
2.项目对应的Dockerfile路径为:/src/main/docker/Dockerfile
3.脚本自动复制Dockerfile和程序文件自动打包镜像部署
4.docker命令运行时加入--restart unless-stopped 可以容器随docker自启
project=("spring-client:8764:0.0.1" "spring-system:8770:0.0.1" "spring-eureka:8761:0.0.1") mainDir=/opt/jenkins jenkinsDir=/root/.jenkins/workspace/spring-boot-xinjiang #判断主文件夹是否存在,不存在创建 if [ ! -d $mainDir ]; then mkdir $mainDir fi #循环数组创建每个项目的文件夹 for var in ${project[@]} do OLD_IFS="$IFS" IFS=":" array=($var) IFS="$OLD_IFS" name=${array[0]} port=${array[1]} version=${array[2]} echo 项目名称$name; if [ ! -d $mainDir/$name ]; then echo "项目目录不存在,创建项目目录" mkdir $mainDir"/"$name fi cd $jenkinsDir; jarName=$name/target/$name-1.0.0.jar if [ -f $jarName ]; then echo "jar源文件存在,正在复制" #复制程序文件(war/jar)的名称 cp $jarName $mainDir/$name/$name-$version-SNAPSHOT.jar else echo "jar源文件不存在" fi #Dockerfile文件的路径 dockerFileName=$name/src/main/docker/Dockerfile if [ -f $dockerFileName ]; then echo "docker文件存在,正在复制" #复制Dockerfile程序文件的名称 cp $dockerFileName $mainDir/$name else echo "docker文件不存在" fi if [ -f $dockerFileName ] && [ -f $jarName ]; then cd $mainDir/$name if docker ps -a|grep -i $name;then docker stop $name docker rm $name fi imagesid=`docker images|grep -i $name | awk '{print $3}'` if [ "$imagesid" == "" ];then echo "镜像不存在" else echo "镜像存在删除后构建" if docker ps -a|grep -i $name;then echo "镜像容器存在,正在停止容器" docker stop $name echo "镜像容器删除" docker rm $name fi docker rmi $imagesid -f fi docker build -t $name . echo "镜像构建成功" echo "容器构建中" docker run -d -p $port:$port --name $name --restart unless-stopped $dockerName $name echo "容器启动成功" else echo "镜像构建失败" fi done exit 0
The above is the detailed content of Parsing Linux multi-application docker automatic deployment script. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.
