方法很多,这里我说一下使用 docker-connector解决这个问题 这是一个github开源项目docker-connector  1. Mac 通过 brew 安装 docker-connector  brew install wenjunxiao/brew/docker-connector 2. 执行以下命令把 docker 的所有 bridge 网络都添加到路由中(拷贝已下指令)  docker network ls --filter driver=bridge --format "…
解决Windows10下无法对docker容器进行端口访问(端口映射的问题) 问题详情 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务,映射也做好 问题:在主机的浏览器中,打开localhost:port无法访问对应的Web服务. 问题解析 原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker. 也就是说,服务中使用…
我有一个需求: 一方面,我需要在 Docker 容器环境下运行应用(因为有些环境在 Mac 下很难安装配置,并且希望环境干净隔离). 另一方面,容器中的应用又需要进行图形界面的显示. 由于 Docker 容器是命令行的形式,本身不支持图形界面显示,因此我希望 Docker 容器能和我的 Mac 主机上的 GUI 进行连接. 我的 Mac OS X 系统版本是:10.14.2 实现的解决方案 socat 安装 首先用 socat 来解决容器和 Mac 主机 GUI 的通信问题: brew inst…
github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql的镜像,但根据其参考文档在mac上尝试了数次,将mysql数据库文件存储在mac本机时,启动总是报错,大意是docker容器运行时,容器的当前用户mysql,由于权限不足无法mac本机上创建文件,stackoverflow上有人解决了这个问题,参考其解决方法,重新整理了下Dockerfile文件,内…
使用 mac系统,发现docker没有 docker0网桥,无法直接在宿主机上 访问 容器的ip, 在测试的时候有这种需求,而不是通过-p的方式,可以参考下面的连接,主要就是 修改 setting.json,加上socket代理端口,然后配置在网络高级中配置 sockets代理即可. 具体可以参考如下链接. https://github.com/docker/for-mac/issues/2670 For anyone else having trouble following this thr…
  网卡上有       docker is not a virtual machine, and you don't get access to the docker host via IP address. 如果想要访问里面的服务,需要先-p暴露端口,然后通过localhost:端口进行访问 ping不通也是可以访问的! 不需要添加什么路由!…
如果你是下面这种情况,本文可能回给你一些帮助 os是Mac,docker中已有mysql容器,并且已经有数据,但是没有设置映射,想要从主机连接docker 中的mysql,以便更好的查看,增加,删除数据. ------------------------------------------------------------------------------------------------------------- docker 在os下会有2层虚拟机,一个是为docker本身的虚拟层,然…
下载docker: https://www.docker.com/products/overview 下载镜像: docker pull centos 查看镜像:docker images 创建镜像对应的容器,并指定IP地址和端口号: docker run -itd -p 127.0.0.1:50001:22 centos /bin/bash 安装ssh服务:yum install openssh-server 解决ssh_exchange_identification: Connection…
docker直接在官网下载就行了无需赘述 接下来就是在终端中运行docker docker ps 显示当前运行的容器 docker images 显示以及装在的镜像 接下来我们安装centos镜像 docker pull registry.docker-cn.com/library/centos:6 下载centos6 前面跟的是加速源 挂载镜像 docker run -it -p : -p : 709c2f9b510c /bin/bash -p表示把容器中的8888端口映射到主机的80端口 7…
原文 从Docker容器内部,如何连接到本机的本地主机? 编辑:如果您使用的是Docker-for-mac或Docker-for-Windows 18.03+,只需使用主机连接到您的mysql服务即可host.docker.internal. 从Docker 18.09.3开始,这不适用于Docker-for-Linux.一个修复已三月提交的8日,2019年将有望被合并到代码库.在此之前,解决方法是使用qoomon的答案中描述的容器. TLDR --network="host"在您的d…
@ 目录 一.今天我们要搞明白的实验 二.前置网络知识 2.1.docker默认为我们创建的网络 2.2.怎么理解docker0网桥 2.3.什么是veth-pair技术? 三.同一个局域网中不同主机的互联原理 四.容器网络互通原理 五.实验环境 六.推荐阅读 七.原创不易!欢迎关注啊! 一.今天我们要搞明白的实验 如上红字所描述:同一个宿主机上的不同容器之间的网络如何互通的??? 下面就一步一步探索答案! 点击阅读原文 点击查看视频讲解 点击查看视频讲解 二.前置网络知识 2.1.docker…
Docker容器日志清理 date :2019-04-08  13:57:40 1. 问题 docker容器日志导致主机磁盘空间满了.docker logs -f container_name 发现大量日志占用空间,不用的日志可以清理掉了. 2. 解决方法 2.1 查出Docker容器日志并删除脚本 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本do…
一. docker 容器 1.docker是什么? .linux下容器技术有很多,docker是做的最杰出的一款 .docker能够支撑阿里双十一,京东618的业务,说明,性能,安全性不得差 .docker容器很容易被大规模创建 .python为什么火?因为运维领域,golang则是因为docker .docker能够解决什么问题?解决环境配置问题 .每一个docker容器,单独运行一个应用程序 .docker如同在os的进程上,披着一个马甲,其实还是运行在一个单独linux系统上 .让开发人员…
目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docker 5. Docker基本操作 运行容器 启动交互式容器: 查看容器: 自定义容器名: 重新启动已经停止的容器: 删除停止的容器:(不能用于删除运行中的容器) 6. 守护式容器 以守护形式运行容器 附加到运行中的容器(重新进入正在运行的容器) 启动守护式容器(最重要的方式) 查看容器日志(可以看到容…
docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件.然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需要解决从宿主机到各个容器的网络通信. 如果是使用其他Linux系统的用户则不用担心这个问题,Linxu系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间).而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的…
使用quaaga实现(rip ospf)实现主机间容器互通 - n1设置 brctl addbr br0 ip a a 10.1.1.1/24 br0 ip a a 10.1.1.1/24 dev br0 ip l s dev br0 up systemctl stop docker dockerd -b=br0 docker run -itd --name=router --privileged --net=host georce/router - n2设置 brctl addbr br0 i…
原文: https://blog.csdn.net/luckystar689/article/details/76572046 https://stackoverflow.com/questions/35994349/php-date-timezone-not-found-with-docker-php-fpm 2down voteaccepted Official PHP Docker Image use /usr/local/etc/php as base folder: see Docke…
服务器1: 网络172.30.0.0/16 服务器2: 网络172.31.0.0/16 服务器1和服务器2上的docker容器网络之间是无法互通的,如果需要互通,需要做以下配置: 服务器1上执行: iptables -I DOCKER-USER -i br-88bd505e153f -o eth0 -j ACCEPT iptables -I DOCKER-USER -i eth0 -o br-88bd505e153f -j ACCEPT br-88bd505e153f是服务器1上docker的网…
日志文件在   /var/lib/docker/containers/<docker_container_id>/   目录下 查看日志大小 vim /opt/docker_log_size.sh #!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $lo…
解决 Mac 上 Docker 无法直接 ping 通的问题 原文连接 一.背景 Mac os Mojave 10.14.3 Docker Desktop community 2.3.0.4 二.问题 在 Mac 上启动 docker 容器以后,宿主机 ping 不通容器的ip. 三.原因 在宿主机上看不到 docker0,无法访问容器所在的网络,导致宿主机 ping 不通 Docker 给 Container 所分配的 IP 地址. 详情参见官网:https://docs.docker.com…
关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭建weave后,跨主机docker容器的连通性. 场景:10.162.204.252 node110.171.31.181 node210.171.19.139 node3 一.在所有需要跨主机互通的docker宿主机安装weave.1.在node1上安装weave,并启动weave.wget -O…
前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方案. 跨主机网络方案包括: docker 原生的 overlay 和 macvlan. 第三方方案:常用的包括 flannel.weave 和 calico. docker 网络是一个非常活跃的技术领域,不断有新的方案开发出来,那么要问个非常重要的问题了: 如此众多的方案是如何与 docker 集成…
1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/etc/default/docker的DOCKER_OPTS配置,总是出现拒绝访问的问题,其实就是容器的jenkins用户没有权限访问容器外的docker命令),按照大神的思路,把容器内的jenkins用户加入到docker组中,即可成功访问docker命令了. 1.1 制作自定义jenkins镜像…
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 3 运行程序 5 效果展示 6 实现功能 无需在被监控主机上安装代理,一键对Linux远程服务器不同主机执行性能监控.性能数据采集命令,并实时展示 支持跨堡垒机收集实时性能数据(注:定制化开发,非通用) 支持docker容器(因为程序实现是从docker容器内部获取性能数据,所以目前仅支持 CPU,…
我在自己的mac笔记本上装了一个docker,并在docker容器中安装了lnmp环境,经常会遇到在使用"lnmp restart"命令启动lnmp服务的时候,mysql服务启动失败,启动日志: Stoping LNMP... Stoping nginx... nginx is not running. ERROR! MySQL server PID file could not be found! Gracefully shutting down php-fpm /etc/init.…
docker运行一个容器后,将主机中当前目录下的文件夹挂载到容器的文件夹后 进入到docker容器内对应的挂载目录中,运行命令ls后提示: ls: cannot open directory .: Permission denied 解决: 在docker run一个容器时,加上 --privileged=true 给容器加特权即可.…
前言 公司一直在用传统的tomcat下丢war包的架构体系,随着项目的增多.服务器数量的增多.需要为此花费很多时间在不同服务器的系统环境问题上.为了技术的与时俱进和工作的运维效率等方面,笔者引入docker容器部署方式,通过Gitlab+Jenkins+Harbor体系,通过Dockerfile生成自定义镜像并放置Harbor仓库,Jenkins加上自定义Shell脚本(实现拉镜像,启动容器,容器映射端口固定,自定义日志路径)等,基本实现了持续集成的自动化部署.在测试环境试用了一段时间,发现效果…
一.Docker网络基本原理 直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包:此外,如果不同子网之间要进行通信,需要额外的路由机制. Docker中的网络接口默认都是虚拟的接口.虚拟接口的最大优势就是转发效率极高.这是因为Linux通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将被直接复制到接收接口的接收缓存中,而无需通过外部物理网络设备进行交换.对于本地系统和容器内系统来看,虚拟接口跟一个正常的以太网卡…
原文发表于cu:2016-06-06 参考文档: Docker网络的4种模式,pipework/ovs的简单使用等:http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice Dockerpool全文档:https://yeasy.gitbooks.io/docker_practice/content/index.html Ovs完全使用手册:http://my.osc…
使用docker容器部署的应用,会出现时间与主机不一致的情况 1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致 解决方法:挂载主机的/etc/localtime,如果没有则cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 如果里面运行的是java程序,哪么程序时间还是会8个小时的差别:主要是Java或取时间是从/etc/timezone里获取时区 解决方法:挂载主机的/etc/timezone,如果没有则…