首页 > 系统相关 >Linux常见问题

Linux常见问题

时间:2024-03-25 23:15:34浏览次数:17  
标签:容器 网关 常见问题 network ping 网络 Linux docker

Linux常见问题

一、linux 网络错误

ping: www.baidu.com: 未知的名称或服务原因分析,linux ping不通

原因1、可能是网络配置文件设置错误

检查网络配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33

img

仔细检查红框中的信息

解释



ONBOOT=yes #设置开机启动网络,这样就不需要每次都连接网络了



BOOTPROTO=static #设置静态IP,这样ip地址不会随着物理机ip地址的改变而改变了



IPADDR=192.168.183.102 #ip地址,地址要和网关在同一网段,这里简单来说就是ip地址的前三段和网关的前三段要相同,即192.168.183



NETMASK=255.255.255.0 #子网掩码



GATEWAY=192.168.183.2 #设置网关,自己虚拟机的网关在虚拟机的编辑--->虚拟网络编辑器里免去看
重启网卡 service network restart

原因2、可能原因是DNS没配置好

修改vi /etc/resolv.conf

添加DNS

nameserver 114.114.114.114 (电信的DNS)

nameserver 8.8.8.8(googel的DNS)

可以随意添加一个,两个也可以,配置文件中可以配置三个DNS

然后在ifcfg-ens33配置文件中加上刚添加的DNS

img

重启网卡 service network restart

原因3、要是配置了DNS还没解决问题,那就可能是路由网关没有设置

netstat -rn 查看路由中网关设置情况

img

192.168.183.2就是我的路由网关

要是没有就添加网关

route add default gw 192.168.183.2(这里加上你自己的网关,上面有教程)

netstat -rn 检查是否添加成功

但是

这种方法只是临时添加网关,重启后就会失效

永久添加的方法:

将自己的路由网关添加到/etc/sysconfig/static-routes 文件中,没有这个文件就创建一个

route add default gw 192.168.129.2(自己的网关)

在文件中添加

any net default gw 192.168.129.2

保存,重启网卡验证

参考链接:Linux中ping不通外网_teddy6866的博客-CSDN博客_linux外网ping不通

二、linux 端口占用问题

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysq

当我们看见这个错误提示时,不要紧张,easy,easy。问题不大,没有你想象中的那么麻烦。

我先说说我遇到的这种情况:

首先,我这个docker是刚下载的,什么镜像和容器都没有,所以不存在同名存在的情况。

其次,我会查看其MySQL端口号是否被占用。输入命令:

netstat -tanlp

会出现下图信息:

img

然后使用此命令来杀掉进程(其中2323为之进程号):

kill 2323



注意:若使用kill -9,则会出现杀不死进程的情况!!!

然后,我们再次使用此命令:

netstat -tanlp

来查看其端口号信息占用情况,看其是否被杀掉

此次,我们就看不到3306端口号的占用情况了,其已经被释放了。

接下来,我们需要重启docker

systemctl restart docker

到目前为止,已经完成一大半了,但还没有成功解决掉这个麻烦。

我们需要把我们刚才下载好的MySQL镜像删除掉。

我是这样卸载镜像的:

1、查看所有容器:

docker ps -a

img

2、删除此容器(docker rm CONTAINER ID):

docker rm eb6

img

3、查看镜像:

docker images

img

4、删除此镜像(docker rmi IMAGE ID):

docker rmi 43f

img 5、重新下载MySQL,然后重新启动即可成功。

三、切换docker网络host

1. 确定当前docker网络

首先,我们需要确认当前docker网络的名称和配置。

docker network ls
1.

这条命令会列出所有的docker网络,并显示网络的名称、ID和驱动程序等信息。

2. 创建新的docker网络

如果需要切换到一个新的docker网络,我们需要先创建它。

docker network create --driver=bridge <network-name>
1.

这条命令会创建一个新的bridge网络,并指定网络的名称。

3. 查看网络的配置

我们可以使用下面的命令查看网络的配置信息。

docker network inspect <network-name>
1.

这条命令会显示网络的详细信息,包括网络的ID、名称、子网和网关等配置。

4. 切换docker网络

现在,我们可以将容器连接到新的docker网络。

docker network connect <network-name> <container-name>
1.

这条命令会将指定的容器连接到新的docker网络。需要注意的是,容器必须是运行状态。

5. 验证网络连接

最后,我们需要验证容器是否成功连接到了新的docker网络。

docker exec <container-name> ping <host>
1.

这条命令会在容器内部执行ping命令,可以用来测试容器是否能够与指定的主机通信。

实现切换docker网络host的代码示例

下面是一个完整的示例,展示了如何实现切换docker网络host的步骤。

登录后复制

解释# 步骤1:确认当前docker网络
docker network ls

# 步骤2:创建新的docker网络
docker network create --driver=bridge my-network

# 步骤3:查看网络的配置
docker network inspect my-network

# 步骤4:切换docker网络
docker network connect my-network my-container

# 步骤5:验证网络连接
docker exec my-container ping google.com
1.2.3.4.5.6.7.8.9.10.11.12.13.14.

在上面的示例中,我们首先确认了当前的docker网络,然后创建了一个名为"my-network"的新网络。接下来,我们查看了网络的配置信息,并将一个名为"my-container"的容器连接到新的网络。最后,我们在容器内部执行了ping命令,验证了网络的连接。

标签:容器,网关,常见问题,network,ping,网络,Linux,docker
From: https://www.cnblogs.com/lhwdbk/p/18095614

相关文章

  • Linux开发:dup, dup2, dup3
    Linux开发:open打开文件-CSDN博客Linux开发:多进程通过open同时读取文件-CSDN博客介绍了打开一个文件会获得一个文件描述符,该文件描述符指向内核中打开文件的描述表的一个位置,而该位置记录了当前打开文件的一些信息dup系列api的主要用途是为指定的文件描述符复制/指定一个新......
  • Arch Linux 安装手记
    背景今天尝试安装龙芯版Linux,本来希望能安装Debian版,但只找到一些文档,没找到可安装版的ISO。后来顺着这篇文章找到了ArchLinux,就尝试安装了一下。安装后发现竟然不会配置网络......
  • Linux中一些常见的测验题3.haha
    1.压缩打包/data目录,命名data.tar.gztar-zcvfdata.tar.gz/data2.打包文件/etc/hosts/etc/passwd放入/opt目录下名称为all.tar.gztar-zcvf/opt/all.tar.gz/etc/hosts/etc/kpasswd3.将all.tar.gz解压到当前目录tar-xvfall.tar.gz4.将all.tar.gz解压到指定目......
  • linux下的mysql常见用法
    linux下的mysql常见用法1.连接Mysql1.1连接到本机上的Mysql键入命令mysql-uroot-p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中......
  • Linux的目录结构和文件管理命令
    1.Linux以单根的形式组织文件(只有一个储存盘)/。 2.bin:普通用户的使用命令(命令文件)sbin:超级管理员使用的命令dev:设备文件(相当于外设文件鼠标,键盘等)root:超级管理员存放私人文件home:普通用户的宿主目录tmp:临时目录usr:自定义目录etc:编辑配置(相当于windows......
  • Linux用户/组的基础内容
    1.查看用户内容cat+空格+/etc/passwd  (全部内容) 2.root  用户名:x:    密码占位符0     用户uid0     组用户Gidroot   用户描述/root  家目录bin/bash 命令解释器3.建立用户  useradd+空格+用户名 删除用户 ......
  • 【Linux】详细分析/dev/loop的基本知识 | 空间满了的解决方法
    目录前言1.基本知识2.内存满了2.1清空2.2扩增3.彩蛋前言服务器一直down机,翻找日志文件一直找不到缘由,最终发现是挂载的内存满了,那本身这个文件就什么用呢?1.基本知识/dev/loop是一种特殊的设备文件,用于将文件系统映射到一个文件上,形成一个虚拟的块设备。通常......
  • Linux的基本命令
    近期巩固了一遍linux基本命令,在这里记录一下目录1.命令格式2.常用命令分类2.1文件操作命令2.1.1文件处理命令(1).ls命令(2).cd命令(3).pwd命令(4).touch命令(5).mkdir命令(6).rm命令(7).cp命令(8).mv命令(9).rmdir命令2.1.2文件查看命令(1).cat命令(2).more......
  • LINUX系统更改系统时区
    https://cloud.tencent.com/developer/article/2165428Linux-Redhat系统更改系统时区[root@localhost~]#date#查看本地时间ThuMay1923:41:32EDT2022[root@localhost~]#hwclock--show#查看硬件时间Thu19May202211:42:07PMEDT-0.332325seconds当前系......
  • Linux设置Java服务启动用户一系列的配置
    添加用户这里创建一个用户,用于启动jar包的用户,不需要创建家目录。useradd-M<用户名>有两种方式可以以特定用户进行启动。第一种是使用su命令,使用su-c命令用户名的方式进行启动。第二种就是使用sudo命令,这个需要配置下/etc/sudoers文件,推荐使用visudo命令进行配置,因为这......