最近使用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发布程序那些事的更多相关文章

  1. NetCore 2.0 应用程序在centos 7上通过docker发布

    一  安装netcore 2.0 SDK 在centos 上面安装netcore 2.0 与window上面是不太一样的,注意,linux是不支持同时安装两个版本的.netcore SDK的,由于我之 ...

  2. docker发布.net core程序的坑

    docker发布遇到的两个问题 1:Could not resolve CoreCLR path. For more details, enable tracing by setting COREHO ...

  3. .NET Core使用skiasharp文字头像生成方案(基于docker发布)

    一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET FrameWork下我们已经习惯使用System.Drawing类库做简单的图像处理,到了.NET Core下一脸 ...

  4. Docker 发布 Abp net core web 服务

    Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是S ...

  5. Angular入门到精通系列教程(14)- Angular 编译打包 & Docker发布

    目录 1. 概要 2. 编译打包 2.1. 基本打包命令 2.2. 打包部署到二级目录 3. Angular站点的发布 3.1. web服务器发布 3.2. 使用docker发布 4. 总结 环境: ...

  6. 【WinForm】使用NSIS发布程序

    简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能 使用 以下是 ...

  7. Qt for Mac:发布程序(widgets和quick2)

    当你用Qt开发好程序后,是不是会很期待将你的成果分享给你的小伙伴 可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行. 比较幸运的是,Qt ...

  8. WPF发布程序后未授予信任的解决办法

    WPF发布程序后未授予信任的解决办法 基于浏览器的WPF应用程序由于需要比较高的操作权限,所以在项目的安全性属性中选择了“这是完全可信的应用程序”选项.可是,在发布部署后,在其他电脑上打开xbap文件 ...

  9. 如何使用VC++6.0发布程序(即release版本程序)

    大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...

随机推荐

  1. python 基本数据类型以及内置方法

    一.数字类型 # 一.整型int # ======================================基本使用====================================== ...

  2. Dijkstra算法——计算一个点到其他所有点的最短路径的算法

    迪杰斯特拉算法百度百科定义:传送门 gh大佬博客:传送门 迪杰斯特拉算法用来计算一个点到其他所有点的最短路径,是一种时间复杂度相对比较优秀的算法 O(n2)(相对于Floyd算法来说) 是一种单源最短 ...

  3. 【dfs】P1433 吃奶酪

    题目描述 房间里放着n块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处. 输入输出格式 输入格式: 第一行一个数n (n<=15) 接下来每行2个实数,表示第i块 ...

  4. Docker:dockerfile镜像的分层 [九]

    一.docker镜像的分层 1.图像呈现 2.命令呈现 [root@oldboy kod]# docker image history kod:v1 IMAGE CREATED CREATED BY ...

  5. LFYZ-OJ ID: 1015 统计数字(NOIP2007)

    分析 本体思路很简单:读入数据,排序.统计.输出.难点在于数据量较大,选择何种排序方法就极为重要,否则很容易发生内存或时间超限.可以考虑以下几种思路: 桶排序 桶排序是可以想到的最简单方法,可在O(n ...

  6. java实现文件的断点续传

    java实现文件的断点续传: 依赖: <!--文件上传--> <dependency> <groupId>commons-fileupload</groupI ...

  7. shell 批量检测远程端口

    [DNyunwei@YZSJHL24-209 li]$ cat port.sh #!/bin/bash # ip=`cat iplist` for i in $ip;do port=`ssh -t $ ...

  8. 使用IntelliJ IDEA 配置Maven(转)

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在Inte ...

  9. 大数据基础-2-Hadoop-1环境搭建测试

    Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...

  10. IDEA远程调试服务器代码

    先在idea添加一个remote,host填服务器ip,port填监听服务器端口,默认5005 然后在服务器tomcat catalina.sh 添加(红色部分): JAVA_OPTS="$ ...