Docker发布程序那些事
最近使用docker比较频繁,所以也难免碰到一些坑,在这里记录一下,给自己写个笔记
1.docker 1.13.0版本不支持docker stack deploy -c 多个 -c的yml文件合并
如果发现多个-c不起作用,可以看一下docker的版本是否太久,1.18.0之后是可以的
2.docker stack deploy 后 stack rm stackName后再次启动可能会提示network已经存在,
有时docker 不会删除原有network
3.docker stack deploy 启动时有时会提示network不存在,启动失败,
需要再次执行docker stack deploy命令
4.提示invaild mount config error等,多半是因为在docker-compose.yml文件中包含volumes ,且里面存在从未知路径挂载的命令
可以在yml文件的底部用volume挂载,而不是在service中使用未知路径,
5. fail to gateway ..ip is in use,一般是network中存在原有ip地址的network未删掉
我们可以使用 docker network prune 删除未执行的network,或者直接删除对应的network
6. docker-compose up时 nginx提示 Error starting userland proxy: listen tcp 0.0.0.0:8001: bind: address already in use,并且network没有8001,
因为nginx出现异常,需要 删掉nginx 然后重新启动
Instead of
sudo systemctl restart nginx
I had to use:
sudo pkill -f nginx
sudo systemctl start nginx
---------------- 命令注释----------------------
重要! stack rm 后 需要执行stack docker network prune 删除未使用的network
多次使用 stack 命令 (stack rm + stack stack deploy ) 重启服务时 , stack rm 后 network 可能会未完全删除,下次使用 stack deploy -c xxx.yml 启动时会发现部分服务报错,提示"failed to allocate gateway (10.0.0.1): Address already in use" 这时需要执行stack docker network prune 删除未使用的network.
docker swarm 命令
(Manager节点执行)初始化集群docker swarm init
(Manager节点执行) 查看加入worker节点时,需要在worker节点执行的命令docker swarm join-token worker
docker stack 命令
启用集群式服务.
(在docker-compose.yml目录下执行) sudo docker stack deploy -c docker-compose.yml -c docker-compose.override.yml BI
** 使用docker stack deploy -c docker-compose.yml时yml文件中的build指令无效,需要先执行 docker-compose build 命令! **
移除BI 服务集群 docker stack rm BI
当删除集群时,yml中build的镜像需要手动删除
docker service 服务命令
查看运行中的服务列表 docker service ls
查看某个服务(BI_app-download)的运行状态 docker service ps BI_app-download
查看某个服务(BI_app-download)的日志记录 docker service logs BI_app-download
创建所需镜像
(在docker-compose.yml目录下执行) docker-compose build
docker-compose.yml中含有deploy属性(stack deploy 启动需要)时,docker会提示警告,但不影响镜像生成.
生成的镜像名称为docker_foldername格式
如: build app-download 文件夹下的 Dockerfile文件时,生成的镜像名称为 "docker_app-download"
删除镜像 docker rmi imageid
如果修改重新生成镜像,需要删除集群-->删除镜像-->修改更新项-->docker-compose build-->docker stack deploy
docker load image 时提示空间不够
systemctl/systemd/docker.service 下修改 -grph =/var挂载新的目录, 然后分别重启服务 system restart daemon-reload ,restart docker service
docker file 使用dockerfile 配置容器时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Docker发布程序那些事的更多相关文章
- NetCore 2.0 应用程序在centos 7上通过docker发布
一 安装netcore 2.0 SDK 在centos 上面安装netcore 2.0 与window上面是不太一样的,注意,linux是不支持同时安装两个版本的.netcore SDK的,由于我之 ...
- docker发布.net core程序的坑
docker发布遇到的两个问题 1:Could not resolve CoreCLR path. For more details, enable tracing by setting COREHO ...
- .NET Core使用skiasharp文字头像生成方案(基于docker发布)
一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET FrameWork下我们已经习惯使用System.Drawing类库做简单的图像处理,到了.NET Core下一脸 ...
- Docker 发布 Abp net core web 服务
Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是S ...
- Angular入门到精通系列教程(14)- Angular 编译打包 & Docker发布
目录 1. 概要 2. 编译打包 2.1. 基本打包命令 2.2. 打包部署到二级目录 3. Angular站点的发布 3.1. web服务器发布 3.2. 使用docker发布 4. 总结 环境: ...
- 【WinForm】使用NSIS发布程序
简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能 使用 以下是 ...
- Qt for Mac:发布程序(widgets和quick2)
当你用Qt开发好程序后,是不是会很期待将你的成果分享给你的小伙伴 可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行. 比较幸运的是,Qt ...
- WPF发布程序后未授予信任的解决办法
WPF发布程序后未授予信任的解决办法 基于浏览器的WPF应用程序由于需要比较高的操作权限,所以在项目的安全性属性中选择了“这是完全可信的应用程序”选项.可是,在发布部署后,在其他电脑上打开xbap文件 ...
- 如何使用VC++6.0发布程序(即release版本程序)
大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...
随机推荐
- [模板] 匈牙利算法&&二分图最小字典序匹配
匈牙利算法 简介 匈牙利算法是一种求二分图最大匹配的算法. 时间复杂度: 邻接表/前向星: \(O(n * m)\), 邻接矩阵: \(O(n^3)\). 空间复杂度: 邻接表/前向星: \(O(n ...
- yyb博客的几道神仙题
该比赛链接 T5 题意: 给你一个\(n\times n\)的网格,开始有\(m\)个被涂成黑色的格子,如果存在三个格子\((x,y)\),\((y,z)\),\((z,x)\)满足\((x,y)\) ...
- shell 基础(二)变量
1. shell变量的定义 1)Shell 支持以下三种定义变量的方式: variable=value variable='value' variable="value" 特点 1 ...
- 2733: [HNOI2012]永无乡 线段树合并
题目: https://www.lydsy.com/JudgeOnline/problem.php?id=2733 题解: 建n棵动态开点的权值线段树,然后边用并查集维护连通性,边合并线段树维护第k重 ...
- opencv-python下简单KNN分类识别
KNN是数据挖掘中一种简单算法常用来分类,此次用来聚类实现对4种花的简单识别. 环境:python2.7+opencv3.0+windows10 原理:在使用KNN函数提取出4种花特征点以后,对需要辨 ...
- GoLang-Beego使用
1.beego 注意事项 beego的默认架构是mvc python的django默认是mtv package main import ( "github.com/astaxie/beego ...
- tolua之wrap文件的原理与使用
什么是wrap文件 每个wrap文件都是对一个c#类的包装,在lua中,通过对wrap类中的函数调用,间接的对c#实例进行操作. wrap类文件生成和使用的总体流程 生成一个wrap文件的流程 这部分 ...
- ArcGis Python脚本——根据接图表批量裁切分幅影像
年前写了一个用渔网工具制作图幅接图表的文章,链接在这里: 使用ArcMap做一个1:5000标准分幅图并编号 本文提供一个使用ArcMap利用接图表图斑裁切一幅影像为多幅的方法. 第一步,将接图表拆分 ...
- MySQL关于日志配置安全整改及处理方法
[环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 需求:MySQL数据库都有每年的集团安全整改,常常要求弱口令扫描,基线扫描,漏洞扫描等等.对于MySQ ...
- MD5 两次加密
1.添加依赖 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-cod ...