若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11681474.html 原因: 本人最近正在尝试CI/CD,所以就使用了 Jenkins这款强大的CI/CD工具.由于直接在linux系统安装的Jenkins服务,且在pipeline中需要使用到 docker命令 和 docker-compose 命令,所以我考虑 在Jenkins中直接使用 宿主机中的 docker 和 docker-compose 命令. 解决步骤: 一.…
1.展示这段shell命令 +详解 #===================================================================================== #=================================定义初始化变量====================================== #================================================================…
使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了.后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id 2.即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取.当然好像也不影响使用,只是在容器里面执行docker…
因为Ubuntu18.04默认的openssl版本就是1.1.0, 而PHP5.6无法在openssl 1.1下编译 "PHP 5.6 is receiving only security fixes and OpenSSL 1.1 is not supported. Please use PHP 7.x if you want to use OpenSSL 1.1", 所以在Ubuntu18.04下需要通过docker配合宿主机配置php5.6的环境. 在docker hub上PHP…
  当进入一个容器后,使用ifconfig.ip addr等命令时,出现如下“command not found”:       解决办法:   yum update yum -y install net-tools              …
背景 重新安装了jenkins,需要启动,使用的yum install安装的,启动jenkins的话只需要执行service jenkins start,但出了两个问题 1. 是提示找不到java 2. 设置好了java后,提示没有权限 提示如下: Starting Jenkins bash: /usr/bin/java: No such file or directory starting jenkins bash /usr/bin/java permission denied 解决步骤 1.…
不使用sudo命令执行docker  2015-09-11 11:03:05  王春生  8049 最后编辑:王春生 于 2015-09-11 12:18:30 简介:本篇文章介绍如何不使用sudo命令就可以执行docker命令. 为什么需要创建docker用户组? 操作步骤: 为什么需要创建docker用户组? Docker守候进程绑定的是一个unix socket,而不是TCP端口.这个套接字默认的属主是root,其他是用户可以使用sudo命令来访问这个套接字文件.因为这个原因,docker…
服务端代码/** * 执行shell命令 * @param command 执行命令 * @return */public String exeCommandByPath( String command){ log.info("进入执行shell命令方法 执行命令:" + command); String returnString = ""; Process pro = null; String[] cmds = { "/bin/sh", &qu…
1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/etc/default/docker的DOCKER_OPTS配置,总是出现拒绝访问的问题,其实就是容器的jenkins用户没有权限访问容器外的docker命令),按照大神的思路,把容器内的jenkins用户加入到docker组中,即可成功访问docker命令了. 1.1 制作自定义jenkins镜像…
docker版jekins使用宿主机docker命令 docker版jekins安装,实现CI/CD,也就是实现在容器里面使用宿主机docker命令,这样方式为:docker outside deocker 说明:FROM jenkinsci/jenkins 这个jenkins基础镜像用的系统是debain系统 必须按照下面过程来,否则报错 说明: 官方jenkins镜像本身自带jdk 环境: 192.168.0.97 centos7.5 1.安装docker 参照:https://www.cn…
1.判断运行时环境是否运行在docker中 参考:How to determine if a process runs inside lxc/Docker? 确定进程是否在LXC/Docker中运行?(就是前一篇文章的翻译) 2.如何获取docker宿主机ip docker容器中如何获取宿主机IP,连接宿主机的某个服务 如何从容器内部获取主机IP Docker Network Configuration 高级网络配置 例如 docker run -d  --add-host hostip:"yo…
下载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…
前言 公司一直在用传统的tomcat下丢war包的架构体系,随着项目的增多.服务器数量的增多.需要为此花费很多时间在不同服务器的系统环境问题上.为了技术的与时俱进和工作的运维效率等方面,笔者引入docker容器部署方式,通过Gitlab+Jenkins+Harbor体系,通过Dockerfile生成自定义镜像并放置Harbor仓库,Jenkins加上自定义Shell脚本(实现拉镜像,启动容器,容器映射端口固定,自定义日志路径)等,基本实现了持续集成的自动化部署.在测试环境试用了一段时间,发现效果…
在宿主机(MacOS系统)上运行了原生的RocketMQ服务,为了方便管理,需要以Docker方式运行RocketMQ的管理工具——rocketmq-console (项目地址:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console). 在容器的启动命令中需要指定RocketMQ的NameServer的位置,由于RocketMQ运行在宿主机,因此使用如下命令: docker run -e "JAVA_OP…
Docker服务部署启动容器发现docker容器内访问宿主机IP不通,于是进入容器内ping宿主机IP,发现无法ping通,容器IP为172.17.0.2,于是继续ping172.17.0.1也不通,ping docker0也不通,进过网上查询相关资料,有其他大佬也遇到这个坑,这里记录一下. 问题 环境 操作系统:centos 7.9 内核版本:3.10.0-1127.19.1.el7.x86_64 Docker版本:19.03 现象 Docker ping容器内host网络没有问题,但是访问i…
共享宿主机的目录给容器 docker run -i -t -v ~/download:/home/hello python3-env /bin/bash -v  表示创建一个数据卷并挂载到容器里 ~/download:/home/hello 冒号前面是宿主机目录,后面是容器里的目录.表示把宿主机的download目录挂载到容器的/home/hello目录下.注意run之后是一个新的容器,ID都不一样的.  注意:python3-env是镜像的名称 从Dockerfile新建一个镜像 Docker…
今天在公司服务器上部署项目,遇到一个大坑.接口怎么请求都不同,宿主机DNS已经改了.宿主可以请求,找了半天,原来是DOCKER 没有获取到主机的DNS 进去DOCKER解析不了域名 指定DNS 启动也有警告 [root@kps4 ~]# docker run -itd -p : --dns 8.8.8.8 --dns 114.114.114.114 39d515903295 WARNING: IPv4 forwarding is disabled. Networking will not wor…
docker从容器中怎么访问宿主机  我来答 浏览 3160 次 2个回答 #热议# 2019年全国两会召开,哪些提案和政策值得关注? 好程序员 知道合伙人 推荐于2017-11-22   docker搭建了lnmp环境后,如果需要访问安装在宿主机上的数据库或中间件,是不能直接使用127.0.0.1这个ip的,这个ip在容器中指向容器自己,那么应该怎么去访问宿主机呢: 例如你的docker环境的虚拟IP是192.168.99.100,那么宿主机同样会托管一个和192.168.99.100同网段…
环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/lib/mysql 1.1 拉去mysql:5.7镜像 docker pull mysql:5.7 2. 创建mysql:5.7容器 宿主机mysql配置文件路径:/root/docker/mysqletc/mysql 宿主机mysql数据卷路径:/root/docker/mysqletc/data…
一.安装docker并启动 yum install docker systemctl start docker 二.安装nginxCentOS 7默认不能从yum中安装nginx,原因可以自己搜索一下,需要执行以下命令 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 之后就可以用yum安装了 yum install nginx 三.用d…
docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件.然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需要解决从宿主机到各个容器的网络通信. 如果是使用其他Linux系统的用户则不用担心这个问题,Linxu系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间).而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的…
跨 Docker 宿主机 macvlan 类型 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 三台 CentOS 7.0 虚拟机 (Vmware Workstation 15 Player) c. 上一篇:Docker 网络类型 准备工作 macvlan 是指将一块物理网卡虚拟出多个子网,是 Linux 内核提供的特性(虽然可以实现教程中的效果,但对 macvlan 还没有深入的了解,以后会再来回顾这个概念). 由于暂时无法接触到实际的使用场景,因此在虚拟机中建立两个系统…
docker的宿主机是虚拟机下的CentOS 博主最近遇到一种情况,从服务器拷贝了一份数据库在宿主机Mysql服务器上,想要用本地的数据库测试自己的代码正确性,但是项目程序都是靠docker一键部署的,于是必定要在docker容器里访问到本地的数据库.在探索中遇到了问题并得到了解决. 在docker容器里localhost并不是指宿主机的localhost 由此原因,并不能在容器中通过localhost:3306访问到宿主机的mysql docker在运行时就建立了虚拟网卡,并命名为docker…
需求 使用docker技术管理Jenkins服务器.避免多次部署需要重复安装的重复工作,且可以方便迁移到新的服务器. Jenkins docker镜像 https://hub.docker.com/_/jenkins/ Official Jenkins Docker image 拉取镜像: docker pull jenkins 使用镜像: docker run --name myjenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home j…
安装 docker-ce // https://docs.docker.com/install/linux/docker-ce/centos/ $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine $ sudo yum install -y…
宿主机执行ifconfig 会看到docker0那个ip,可以使用来访问宿主机…
懒得描述太多,总归是解决了问题,方法简要记录如下,虽然简要,但是完整,一来纪念处理该问题耗费的大半天时间,二来本着共享精神帮助其他遇到该问题的哥们儿,当然这个方法并不一定能解决你们的问题,但是多少能提供些解决思路. 第一,先检查防火墙,通常应该没什么问题 (问题解决之后我把这块规则去掉了,发现没什么影响,所以容器的话,可能docker已经解决了防火墙的问题,但是不排除其他人会有这个问题.)添加规则 针对特定地址开放3306端口,一定程度上保证数据库的安全 iptables -I INPUT -s…
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 发布机(与开发机共享) Win10.Docker(Linux OS).Jenkins 自动化部署 测试服务器 Ubuntu.Docker 测试环境 二.安装jenkins 1.Windows下安装jenkins 各环境下安装教程 https://jenkins.io/zh/doc/book/inst…
一.CI,CD,Jenkins的介绍 CI:持续集成(Continuous integration,简称 CI),在传统的软件开发环境中,有集成,但是没有持续集成这种说法,长时间的分支与主干脱离,导致分支与主干可能存在较大偏差,在集成代码的时候可能需要花费数小时更久的时间来修复代码,以便最终将代码集成主干(俗称"集成地狱"或"集成灾难"):而CI旨在鼓励团队成员进行频繁集成(例如每小时或至少每天一次)来避免这种情况的出现,通过自动检测.拉取.构建和(在大多数情况下)…
1.获取Jenkins镜像(不要直接docker pull jenkin,这样获取的不是最新的版本,后续安装部分插件会不成功) docker pull jenkins/jenkins 创建文件夹 sudo mkdir /var/jenkins_home 修改权限权限(一定要修改权限否则创建的容器不能启动) sudo chown -R 1000:1000 /var/jenkins_home #启动Jenkins容器(Jenkins容器中可以执行docker命令)docker run -itd -p…