实现脚本自动部署docker
前言:
使用场景是 我这边的一个单体项目需要多一个多副本的部署方式,一直输入重复命令我实在是嫌烦了,使用写了一个脚本来一键更新部署上去。jar包都是我手动上传的,没有把包传入公网库里。
之所以记录就是因为遇到了几个没有遇到过的问题记录以下。
示例:
#!/bin/bash # 进入指定文件夹打包成imagecd /soft/xx/xx/# 停止和删除包含 "mobile" 在名称中的容器 docker ps | grep "mobile" | awk '{print $1}' | xargs docker stop docker rm m1 docker rm m2 docker rm m3 # 构建 Docker 镜像并获取其 ID IMAGE_ID=$(docker build -t xxx:Tag . -q) # 使用镜像 ID 运行 Docker 容器 docker run -d -p 0001:8080 --name mobile2 -v /opt/xx/:/opt/xx/ $IMAGE_ID docker run -d -p 0002:8080 --name mobile1 -v /opt/xx/:/opt/xx/ $IMAGE_ID docker run -d -p 0003:8080 --name mobile3 -v /opt/xx/:/opt/xx/ $IMAGE_IDchmod +x script 这个命令,可以将脚本复制到一个在系统 PATH 中的目录中,这样就可以在任何地方执行它,而无需添加 ./ 前缀或手动更改权限。/usr/local/bin/ 目录中:sudo cp 脚本文件名 /usr/local/bin/错误一:-bash: /usr/local/bin/runpoject: Permission denied 没有权限的命令
/usr/local/bin/runpoject 脚本。这是因为 /usr/local/bin 目录通常需要超级用户权限才能写入。你可以尝试以下步骤来解决这个问题:
使用尝试使用以下命令:
sudo chmod +x /usr/local/bin/script
\r\n),而不是 Linux 风格的换行符(\n)。这种问题可能会导致解释器无法找到正确的路径。要解决这个问题,你可以使用文本编辑器将脚本文件转换为 Linux 风格的换行符。
你可以使用 dos2unix 命令来进行转换,如果系统没有安装这个命令,可以尝试使用 sed 命令来进行转换,如下所示:
sed -i 's/\r$//' /usr/local/bin/script 亲测可以解决问题。
实现脚本自动部署docker的更多相关文章
- 脚本自动部署及监控 web
1.编写脚本自动部署反向代理.web.nfs: I.部署nginx反向代理两个web服务,调度算法使用加权轮询 II.所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性: ...
- linux基础 -nginx和nfs代理 开发脚本自动部署及监控
开发脚本自动部署及监控 1.编写脚本自动部署反向代理.web.nfs: (1).部署nginx反向代理三个web服务,调度算法使用加权轮询: (2).所有web服务使用共享存储nfs,保证所有web ...
- Ubuntu/CentOS下使用脚本自动安装 Docker
Ubuntu.Debian 系列安装 Docker 系统要求 Docker 支持以下版本的 Ubuntu 和 Debian 操作系统: Ubuntu Xenial 16.04 (LTS) Ubuntu ...
- 010-- 开发脚本自动部署nginx_web和nfs及监控内存
1.编写脚本自动部署反向代理.web.nfs: #!/bin/bash #检测安装nginx function detection_nginx(){ if [ -f /etc/nginx/nginx. ...
- linux开发脚本自动部署及监控
linux开发脚本自动部署及监控 开发脚本自动部署及监控一.编写脚本自动部署反向代理.web.nfs:要求:1.部署nginx反向代理三个web服务,调度算法使用加权轮询: #!/bin/sh ngx ...
- ceph脚本-自动部署计算机节点
依然还在加班中,最近确实忙的脚打后脑勺! 又花了些时间丰富ceph脚本,可以连带着自动部署计算机节点了. 这一部分内容是后加的.可以关注我的公众号获取更多的项目代码和讲解!波神与你同行哦,加油!!!
- Tomcat通过脚本自动部署
1:autodeploy_tomcat_app.sh now=`date +%Y%m%d%H%M%S` tomcatPath=/home/test/apache-tomcat- backupPath= ...
- Azure vm 扩展脚本自动部署Elasticsearch集群
一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...
- Shell脚本 自动部署 SpringBoot 应用
公司项目使用了SpringBoot.开发的应用需要自动上传到服务器.虽然目前对热部署还没完全掌握.先使用shell简化一下部署吧. # 上传密钥 sshLoginKey=/f/MyFile/root. ...
- shell脚本自动部署及监控
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx fun ...
随机推荐
- CentOS 7 搭建NFS服务器
服务端安装 # 创建挂载目录 cd ~ cd data/ mkdir www-content cd www-content/ pwd # 安装软件 yum install nfs-utils yum ...
- Hexo博客Next主题DaoVoice实现在线联系
注册登录DaoVoice 注册地址如下: http://www.daovoice.io/ 在官网注册帐号需要邀请码,可以输入我的邀请码 b69005f1 复制粘贴代码 修改的hexo的文件路劲如下: ...
- Hexo博客Next主题站内搜索模块相关,解决搜索无效、一直loading的问题
站内搜索配置 设置方法: 首先安装hexo-generator-searchdb插件 npm install hexo-generator-searchdb --save 编辑博客根目录下的博客本地目 ...
- 用googletest写cpp单测
框架概述 Google Test(也称为 googletest)是由 Google 开发的 C++ 单元测试框架.它的首个版本是在2004年发布的,作为 Google 内部的测试框架使用.随后,Goo ...
- 【环境搭建】vscode调试php
待解决问题 使用vscode和phpstudy实现PHP的本地调试 解决办法 1.打开xdebug 找到网站使用的PHP版本,在设置中将Xdebug调试组件打开,并确认端口是9000 找到php扩展目 ...
- PXE服务器搭建--ARM
PXE服务搭建 一. 什么是PXE PXE是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过 ...
- nuitka 将程序编译为单个exe
原文链接:https://github.com/Nuitka/Nuitka 在Windows上,有两种模式,一种是将其复制到您公司指定的AppData,也将其用作缓存,另一种是在临时目录中进行.您需要 ...
- 从read 系统调用到 C10M 问题
一.前言 从上个世纪到现在,工程师们在优化服务器性能的过程中,提出了各种不同的io模型,比如非阻塞io,io复用,信号驱动式io,异步io.具体io模型在不同平台上的实现也不一样,比如io复用在bsd ...
- BurpSuite设置上游代理访问内网
转载原文 原理知道了后,开始! 拿到B的shell后,添加路由 拿到B的shell后,开启sock4 在D主机上设置好 最后成功抓到包
- 《Java极简设计模式》第01章:单例模式(Singleton)
作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all ...