在Docker构建的容器中实现安装ping工具
因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了,
下面是Ubuntu下安装Ping工具的命令:
sudo apt-get update && apt-get install iputils-ping
补充知识:standard_init_linux.go:211: exec user process caused "no such file or direct 问题
总结了网上一些问题
Windows环境上一部分因为文件类型是dos的转成unix 再编译就行了,
需要安装dos2unix dos2unix 文件
mac 上不存在这种问题,需要禁用cgo
在dockerfile里加CGO_ENABLED=0
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build .
最终实在没有办法
把基础镜像from alpine 改为了 from centos 就没有问题
但是这种镜像文件比较大
以上这篇在Docker构建的容器中实现安装ping工具就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
docker容器通过ping直接运行获取公网IP操作
通过容器获取本机的公网ip 可以用本地IP 多服务注册中心 把命令改居ping 执行可以拿到不同的服务器信息 public static String getIfconfigIP() { BufferedReader in = null; String outline = ""; // timeOut window为ms linux 为s Runtime r = Runtime.getRuntime(); // 将要执行的ping命令,此命令是windows格式的命令 String p
-
Docker镜像的制作,上传,拉取和部署操作(利用阿里云)
由于学习过程中发现push镜像的时候一直超时,所以直接把阿里云的Docker仓库申请一个(管理中心–>创建镜像仓库–>我的是华东2绑定github账户即可),搞定!以后push就用这个仓库,pull的时候使用加速器,注意切换根据使用场景进行切换,dockerhub丢弃--记录了一下操作流程: 1.创建命名空间hhu(以当前学校为单位,只能小写,每个账号只能创建5个),创建菜鸟Docker镜像仓库docker1(绑定github中某个仓库,个人可以随意,这个仓库镜像就像是一个app,可以不断的更
-
在宿主机上执行docker容器内部的shell或程序方式
为了避免反复进入docker容器内部操作,可以将一系列容器内部的指令由宿主机来操作完成. 在宿主机(作者主机为windows7)上执行centos容器(name为centos-1)中/usr目录下的"printer"可执行程序,该程序输出为打印"123". C:\Users\Administrator>docker exec -it centos-1 /bin/bash -c "cd usr && ./printer" 12
-
在Docker构建的容器中实现安装ping工具
因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了, 下面是Ubuntu下安装Ping工具的命令: sudo apt-get update && apt-get install iputils-ping 补充知识:standard_init_linux.go:211: exec user proce
-
Docker下Tomcat容器中使用Mysql的方法
在这里我们使用Tomcat容器来运行war包,不过作为一个网站一个程序,如果需要用到数据库的,那么Tomcat容器中如何连接Mysql呢? 已经pull了tomcat和mysql镜像,可以使用docker的连接系统(–link)连接多个容器方式解决tomcat容器中使用mysql [root@izbp1b5k5bjps0dw8owk7tz ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 2d084b1116
-
详解docker 允许主机ssh连接到docker容器中
在docker容器中,安装好ssh: 1)替换掉容器中的安装源为163源 2)安装ssh服务 apt-get update apt-get install openssh-server 3)添加目录,修改ssh配置文件 mkdir -p /var/run/sshd vim /etc/pam.d/sshd 找到 session required pam_loginuid.so 这一行,将它注释掉 4)添加要链接过来的主机公钥 将公钥放到/root/.ssh/authorized_ke
-
如何隔离docker容器中的用户的方法
笔者在前文<理解 docker 容器中的 uid 和 gid>介绍了 docker 容器中的用户与宿主机上用户的关系,得出的结论是:docker 默认没有隔离宿主机用户和容器中的用户.如果你已经了解了 Linux 的 user namespace 技术(参考<Linux Namespace : User>),那么自然会问:docker 为什么不利用 Linux user namespace 实现用户的隔离呢?事实上,docker 已经实现了相关的功能,只是默认没有启用而已.笔者将在
-
Docker 解决openjdk容器里无法使用JDK的jmap等命令问题
零.问题描述 项目:Java Spring Boot 项目 Docker 环境:Docker Toolbox.不是 Windows10,用不了 Docker for Windows 只能用这个. 使用 Docker Compose 编排服务,并启动 Mysql 和 Spring Boot 项目. docker-compose.yml 文件内容: version: '2' services: mysql: build: ./docker/builds/mysql ports: - "3386:33
-
在docker容器中安装vi命令的简单操作
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package vim 这时候需要敲: apt-get update 这
-
docker容器中安装vim问题解决
目录 故事的开始 装个 vim 编辑 hadoop-hive.env 大意了没有闪, 居然是 debian 其他方法 总结 故事的开始 很多互联网公司, 业务走过 0-1 的野蛮生长之后必定需要精细化管理; 尤其是 面向自己用户 这一块, 你需要像个渣男一样了解你的用户特点 / 需要 / 才知道怎样哄人家开心; 人家才会死心塌地跟着你. 如果是 面向企业(to B)用户, 问题很简单: 去拜访不同的合作公司/业内翘楚, 大家都是带有目的性, 互惠互利一来二去就清楚了; 但像我们这种 面向用户(t
-
Docker中Dockerfile之容器中运行MyEclipse搭建的JavaWeb项目
这篇文章将讲述如何将上一篇文章中的Javaweb项目制作成Docker的镜像.小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 应用程序在Docker容器中运行和在物理机运行的原理是一样的,所以我们部署这个Javaweb项目到Docker中的步骤应该如下: 服务器支持(这里选择Centos7) 安装Java环境 安装Tomcat环境 将Tomcat根目录下的webapps/ROOT目录下的所有文件(夹)删除 将自己开发的web项目的WebRoot目录下的所有文件(夹)复
-
详解在Docker容器中运行Spring Boot应用
spring Boot简化了Spring应用的开发过程,遵循约定优先配置的原则提供了各类开箱即用(out-of-the-box)的框架配置.另一方面,Spring Boot还具备将代码直接构建为可执行jar包的能力,这个jar包是一个可以独立运行的部署单元.基于以上特性,现在普遍认为Spring Boot提供了一种快速构造微服务(Micro-Service)的能力. Docker与Spring Boot Docker是一种Linux容器的实现,Linux容器是基于进程的轻量级资源隔离技术,每一个
-
nginx在docker容器中自动生成配置文件
公司在搭建docker自动化部署时,需要制作一个nginx镜像在其docker run时通过外部指定环境变量使得容器中的配置文件自动生成,不需要再到容器里改配置文件. 实现思路 最后运行的命令大概是这样: docker run -d -p 80:80 -e xxx=xx 镜像名称 镜像中脚本路径 这里的脚本会代替dockerfile中的CMD指令,所以我们要构建一个自动生成且启动nginx的shell脚本. #!/bin/bash #从环境变量里面获取lt开头,为了与其他环境变量区别开,例如lt
随机推荐
- 为SyntaxHighlighter添加新语言的方法
- JS控制HTML元素的显示和隐藏的两种方法
- Informatica bulk与normal模式的深入详解
- Java字符串详解的实例介绍
- Oracle 中 table 函数的应用浅析
- Python验证码识别处理实例
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
- asp.net分割字符串的几种方法小结
- 微信小程序 video组件详解及实例代码
- asp 关键词字符串分割如何实现方法
- MYSQL必知必会读书笔记第四章之检索数据
- Nodejs搭建wss服务器教程
- jquery的冒泡事件的阻止与允许(三种实现方法)
- 老生常谈Eclipse中的BuildPath(必看篇)
- 访问列表
- Windows Server 2008 R2 ent下FTP服务搭建教程
- iOS 设置导航条透明效果的实例代码
- python爬虫 使用真实浏览器打开网页的两种方法总结
- java实现把两个有序数组合并到一个数组的实例
- 使用JavaScript中的lodash编写双色球效果