Docker容器不能联网问题
准确地说,不是不能联网,而是默认模式(bridge)不能,可能我这并不能完全解决docker容器的网络问题,但我确实得到解决,此文章仅供参考。
起因:
使用Dockerfile文件构建镜像时,会显示无法访问安装包的地址,例如:apt-get update命令执行不了。不使用Dockerfile直接启动并进入容器,发现网络确实无法访问,可以输入curl www.baidu.com确定。但是如果启动命令指定网络模式又可以联网,docker run --network host -it imageid /bin/bash。这个就很奇怪,但是想通过Dockerfile的网络模式却仍不能上网,无论是bridge还是host。
分析:
主要问题就是网络,而且这个问题并不是docker本身引起的,而是宿主机的问题。
解决:
通过不断测试和查阅资料,终于在一篇文章中的评论里找到的解决方法。
关闭防火墙和selinux
操作方法如下:
1、暂时关闭
setenforce 0
2、永久关闭
vi /etc/selinux/config
修改配置项:SELINUX=disabled,默认:#SELINUX=enforcing
# 重启服务器
reboot
被永久关闭的selinux,如果需要重新开启,那么需要手动编辑配置文件。如果直接使用:setenforce 0 将会报错:“setenforce: SELinux is disabled”;
3、重新开启selinux
vi /etc/selinux/config
将配置项:SELINUX=disabled,改为:SELINUX=enforcing 或 SELINUX=permissive
# 重启服务器
reboot
4、selinux的模式
enforcing:强制模式,SELinux 正在运行中,已经在限制 domain/type。
permissive:宽容模式:SELinux 正在运行中,但仅发出警告信息,并不会实际限制 domain/type 的存取(permissive模式可以用在测试环境中供调试规则时使用)。
disabled:关闭,SELinux 不再运行。
5、selinux状态查看
5.1 方式1
# 查看当前的运行模式
getenforce
5.2 方式2
# 可以查看selinux的概要状态信息
sestatus
5.3 方式3
# 可以查看selinux的详情状态信息
sestatus -v
6、关闭防火墙
6.1 临时关闭防火墙
# 临时关闭防火墙
systemctl stop firewalld.service
# 或者
systemctl stop firewalld
6.2 永久关闭防火墙
# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,才能行永久关闭)
systemctl disable firewalld.service
# 或者
systemctl disable firewalld
6.3 开启防火墙(永久关闭的防火墙)
# 开启防火墙
systemctl enable firewalld.service
# 或者
systemctl enable firewalld
Docker容器不能联网问题相关推荐
- docker容器内安装ifconfig netstat ping vim 等测试工具的方法
首先,确保docker容器能联网 ① centos使用yum进行安装 ② Ubuntu/debian等使用apt-get进行安装 安装ifconfig.netstat命令 apt-get instal ...
- Docker容器内不能联网的6种解决方案
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Docker容器内不能联网的6种解决方案 注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网( ...
- docker容器联网问题
写在前面 Docker 容器访问互联网,一直通过--net=host 参数间接实现.该方式存在弊端,因为该模式禁用Docker容器的网络隔离.容器共享宿主机的网络命名空间,直接暴露在公共网络中,即容器 ...
- 如何从Docker容器内部连接到计算机的本地主机?
本文翻译自:From inside of a Docker container, how do I connect to the localhost of the machine? So I have ...
- Docker容器学习梳理--日常操作总结
使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands:attach Attach t ...
- CentOSLinux安装Docker容器
Docker 使用 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.dock ...
- Docker容器间网络通信
自从Docker容器出现以来,容器网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器网络通信又分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信. 一.Docker单主机容器通信 基 ...
- 【华为云技术分享】Docker容器+Phoronix-Test-Suite测试X86和ARM的ffmpeg转码性能
[摘要] 如何使用phoronix-test-suite跑ffmpeg转码性能测试,主要测试X86和ARM的.中间使用Docker容器方便操作过程. Phoronix Test Suite是一款性能测 ...
- 如何输入已经以新的TTY运行的Docker容器
本文翻译自:How to enter in a Docker container already running with a new TTY I have a container that is r ...
最新文章
- winphone系统a、input标签被点击时产生的半透明灰色背景
- Java异常的栈轨迹(Stack Trace)
- 一份来自一月寒冬互联网一线的面经(附面试题)
- Eclipse的安装与汉化
- 盘点最重要的7个Python库
- Deploy过程出错解决
- CSS media queries
- (八)ASP.NET自定义用户控件(1)
- (一)Mina源代码解析之总体架构
- [转载] 远程方法调用(RMI)与远程过程调用(RPC)
- 传TD-SCDMA独立组网 跨国通信公司一片沉默
- MySQL主从复制技术(纯干货)
- dcp1608w电脑通过_dcp-1608打印机驱动程序
- 使用Quartz实现定时任务
- 学习笔记(8)之VelocityTracker
- linux nodejs 502错误,node.js应用程序与nginx 502错误的网关错误
- std::stack使用总结
- 计算机工资表怎么打,Word怎么制作工资条 Word制作工资条教程-电脑教程
- JVM内存区域(Java内存区域)、JVM垃圾回收机制(GC)初探
- 如何关闭vue的语法检查
热门文章
- QQ2011 Beta3优先体验(附官方体验地址及下载地址)
- 赛门铁克备份软件文档_备份您的Google文档
- TF 在ROS基本作用和简单介绍
- logistic回归模型python_【机器学习速成宝典】模型篇03逻辑斯谛回归【Logistic回归】(Python版)...
- android聊天界面与功能,【android】聊天界面的制作-简易版实现
- 【探索-字节跳动】字符串的排列
- 学成在线--day04 页面静态化
- flutter 获取屏幕宽度/高度
- 给大家分享一个串口通信助手SSCOM
- pgsql设置字段id自增