docker for mac
MacOS上通过docker部署
docker环境准备
1.访问这里安装好docker,需要注册账号才能下载dmg安装包:https://hub.docker.com/editions/community/docker-ce-desktop-mac
2.设置docker desktop for mac
2.1 设置docker占用资源

点击mac顶部的docker图标,在下拉菜单中选择preference项,打开docker配置页面,选中Advanced标签如下:

如上,整个dxxx除了数据部分跑起来,需要5G资源,sonar和nexus用公司公共的情况下。所以设置10G比较保险。实际起来用不了这么多。而且后面dxxx会针对单机版做精简,尽量减少不必要内存占用。cpu同样设置4核,会比较流畅。
2.2 设置文件共享,方便宿主机和容器间的目录挂载与共享:

2.3 设置docker daemon参数

如上在Daemon配置中,选Advanced标签,显示json配置,贴入如下配置:
{
"debug" : true,
"insecure-registries" : [
"reg.docker.alibaba-inc.com",
"registry.cn-hangzhou.aliyuncs.com",
"registry.aliyuncs.com",
"host.docker.internal:5000"
],
"experimental" : true,
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"2"}
}
点击"Apply & Restart"按钮应用并重启整个docker daemon;
不像linux,Mac上因为中间隔了一层vm的缘故,重启mac docker后之前的所有容器都会退出到stop状态
参数解释:
1.host.docker.internal:5000
其中的host.docker.internal是docker for mac特有的一个域名,在容器内部会被解析为容器所在的host的ip,就是docker for mac自动为docker环境启动的一个轻量级vm的ip地址,在mac上是访问不到的。我们会用这个域名在vm内部不同的容器间做通信。5000端口是为dxxx依赖的registry组件准备的,一键安装dxxx时内部registry容器会暴露这个端口
2."experimental" : true
这个参数是为了解决一个报错的问题,具体忘记了。。。
3.log-driver和log-opts
设置docker的日志引擎为json-file,每个容器的日志文件大小为50m,超过大小时2个文件循环滚动
3.检查docker环境是否正常
➜ docker git:(master) ✗ docker version
Client: Docker Engine - Community
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:33:12 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:41:49 2019
OS/Arch: linux/amd64
Experimental: true
➜ docker git:(master) ✗ docker-compose version
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0h 27 Mar 2018
➜ docker run --rm -it registry.aliyuncs.com/tmns/tmns-centos:base bash
[root@4465f103a4bb /]# uname -r
4.9.125-linuxkit
[root@4465f103a4bb /]# exit
exit
如上说明docker for mac环境正常。docker desktop for mac版本自带docker-compose工具
1.清理docker容器和镜像
删除所有已经停止的容器:docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜像(即未被任何镜像引用的空悬镜像):
删除已经停止的容器,和未被任何镜像引用的空悬(dangling)镜像:docker system prune
删除所有已停止容器,和未被任何容器引用的镜像:docker system prune -a -f
➜ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
➜ docker system prune -a -f
...
untagged: registry.aliyuncs.com/dxxx/dxxxhub-action@sha256:09f9a0df826d7974ed3a8194aa180d6308b7396dfa31c0b4539f642c3a68233e
deleted: sha256:1a60b505dca2281c3c1a75b2442cd9d7d7842152988c8856b9f314669a0e99c0
...
Total reclaimed space: 6.322GB
2.收缩docker for mac占用磁盘
➜ docker git:(master) ✗ ls -lh ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
-rw-r--r-- 1 xlxk staff 11G 2 23 19:36 /Users/xlxk/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
在mac下 docker system prune -a -f 之后,上面这个qcow2文件会显著变小。看来mac下qcow2已经优化得很好,不需要再做额外彻底的清理了。否则的话可以停止docker,删除这个qcow2文件,再启动docker; 所有的容器、镜像和volumes会彻底消失
3.查看容器日志
查看一个容器的全部日志:➜ docker logs dxxx-orchestrator
跟踪一个容器的全部日志: ➜ docker logs -f dxxx-orchestrator
将容器日志导出到文件中:➜ docker logs dxxx-orchestrator &> dxxx-orchestrator.log
4.查看容器配置
➜ docker git:(master) ✗ docker inspect xxx
[
xxx
]
注意:以上输出删除了不常关注的部分,留下了常用的部分
5.查看容器资源使用情况
➜ docker git:(master) ✗ docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
8f60c461fbdd dxxx-ui 0.00% 37.24MiB / 9.744GiB 0.37% 830kB / 721kB 0B / 16.4kB 4
b36b4d88b7bf dxxx-pipeline 0.00% 16.52MiB / 9.744GiB 0.17% 34.2MB / 11.5MB 0B / 0B 15
8f54559ad0f9 dxxx-dxxxhub 0.43% 4.484MiB / 9.744GiB 0.04% 667kB / 378kB 0B / 0B 15
可以看到,只要java写的组件,内存占用轻松上1G,没1G也有大几百兆; golang写的组件只有10M左右
docker for mac的更多相关文章
- docker for mac 学习记录
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
- Install Docker on Mac OS X(转)
Install Docker on Mac OS X You can install Docker using Boot2Docker to run docker commands at your c ...
- docker on Mac
贡献一篇: 云主机可以选择操作系统镜像快速创建主机,这比虚拟机更便捷了,我们本地也可以这么做了,因为有了 Docker 这个东西.它依赖于 LXC(Linux Container),能从网络上获得配置 ...
- Docker for Mac与IntelliJ Docker Integration插件的兼容性问题
笔者在自己的Mac上安装的是Docker for Mac,而不是Docker Toolbox. 这两者最主要的区别在于Docker for Mac用HyperKit作为虚拟化解决方案而不是Virtua ...
- Docker For Mac没有docker0网桥
在使用Docker时,要注意平台之间实现的差异性,如Docker For Mac的实现和标准Docker规范有区别,Docker For Mac的Docker Daemon是运行于虚拟机(xhyve) ...
- Docker for mac安装
Mac安装Docker docker下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-mac docker for m ...
- docker for mac的JSON配置文件中的hosts项修改后无法生效
docker for mac的JSON配置文件中的hosts项修改后无法生效 docker 2.1k 次浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 增 ...
- Docker for mac开启docker api调用
docker-java 支持unix socket调用的 DefaultDockerClientConfig config = DefaultDockerClientConfig.createDefa ...
- Docker For Mac 下安装 Rancher
https://www.jianshu.com/p/5fb3e1a998d6 Docker For Mac 下安装 Rancher 原文:如何在 OS X 上安装 Rancher Rancher 是 ...
随机推荐
- python基础知识12---函数2
阅读目录 一 引子 二 定义函数 三 调用函数 四 函数的参数 五 练习题 一 引子 1 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码, ...
- [UE4]镜像
一.这是一个右手模型,通过镜像可以得到一个左右模型. 二.通过上图分析,镜面是X轴和Z轴形成的一个面,Y轴与XZ面垂直,因此就是镜像Y轴,将模型的Transform.Scale.Y设置为-1,即可得到 ...
- 前端使用nginx 达到前后分离的开发目的
前言: 由于现在要开发一套基于python 的日志分析系统,设计到日志收集,分析,可视化输出,所以我使用前后端分离的做法.记录学习的过程: 00x1: 下载配置nginx:在E盘创建Service 目 ...
- sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
https://www.cnblogs.com/sthinker/p/5922967.html
- 使用 ping++做支付的流程
获取支付凭据 /// <summary> /// 获取支付凭据 /// </summary> /// <param name="model">& ...
- 彻底解决windows10+matlab2018a调用libsvm时出现找不到编译器问题
本文转载自:Shane Zhao博客(CSDN) https://blog.csdn.net/silence2015/article/details/53106156 个人申明,只是因为解决这个问题花 ...
- xml 转换成对象(采用反射机制对对对象属性赋值)
/// <summary> /// 采用反射机制对对对象属性赋值 /// </summary> /// <param name="node">& ...
- jquery 防止当前页面被Iframe嵌套,防止登录页面Iframe被嵌套
<script type="text/javascript"> if (top.location != location) { top.location.href = ...
- Intellij IDEA快捷键大全汇总(2019更新)
Intellij IDEA快捷键大全汇总(2019) Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键 Alt+回车 导入包,自动修正 Ctrl+N 查找类 ...
- 数据库alert报错:ORA-00202、ORA-15081、ORA-27072
思路分析: 1.发现数据库宕机,检查alert日志发现如下出现控制文件:I/O错误 Thu Apr 11 06:40:14 2019WARNING: Read Failed. group:2 disk ...