1. 禁用 firewalld 服务

在 Linux 系统中,firewalld 是默认的防火墙管理工具。在某些学习或测试环境中,可能需要临时禁用它以避免端口访问限制。

systemctl disable firewalld

该命令会禁用 firewalld 服务,使其在系统启动时不再自动运行。

2. SSH 远程登录

SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中提供安全的远程登录和其他安全网络服务。它可以将 Windows 和 Linux 系统之间传输的数据进行加密,防止信息泄露。

3. 查看网络信息

使用 ip add 命令可以查看当前系统的网络接口配置信息。

[root@c-docker ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:bb:c5:0b brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    altname enx000c29bbc50b
    inet 192.168.10.232/24 brd 192.168.10.255 scope global dynamic noprefixroute ens160
       valid_lft 1665sec preferred_lft 1665sec
    inet6 fe80::20c:29ff:febb:c50b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 7e:4c:49:01:3e:d9 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

其中 state DOWN 表示该网络接口(如示例中的 docker0)没有激活或没有连接网线,网络不通。

4. nmcli 命令

nmcli 是 NetworkManager 的命令行工具,用于管理 Linux 网络连接(网卡、WiFi、VPN、网桥、路由、DNS 等),主流发行版(CentOS/RHEL、Ubuntu、Debian、Fedora)默认搭载。

服务器端 NetworkManager 服务路径:/usr/sbin/NetworkManager

4.1 查看网络设备

nmcli d

4.2 查看网络连接配置

nmcli c

关闭与激活指定网卡接口:

nmcli c down ens160   # 关闭 ens160 网卡接口
nmcli c up ens160     # 激活 ens160 网卡接口

4.3 查看当前网络是否启用

nmcli n

禁用与启用全部网络:

nmcli n off   # 禁用全部网络
nmcli n on    # 打开全部网络

5. 查找进程

在系统所有进程中查找名字里带 "networkmanager" 的进程:

[root@feng ~]# ps aux|grep -i networkmanager 
root         774  0.0  0.5 259888 21832 ?        Ssl  10:30   0:00 /usr/sbin/NetworkManager --no-daemon
root        1493  0.0  0.0   6640  2304 pts/0    S+   10:36   0:00 grep --color=auto -i networkmanager

命令说明:

  • ps aux:查看系统所有正在运行的进程(a=所有用户,u=显示用户,x=包括没有终端的进程)
  • grep:文本过滤工具
  • -i:查找文本时不区分大小写

6. Socket 文件

Socket 文件是实现进程和进程之间通信的文件,可视为一种接口。

7. Docker 知识点

Docker 是一个容器软件,用来安装和运行应用程序。启动一个容器就是运行一个软件实例。

7.1 Docker 容器技术核心概念

  • 镜像(Image):包含一个微型的操作系统 + 核心的应用程序 + 依赖的软件。
  • 仓库(Repository):存放镜像的网站或服务。
  • 容器(Container):运行镜像的地方。

7.2 基础 Docker 命令

查看运行中的容器:

[root@R-docker ~]# docker ps
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory

查看 Docker 版本信息:

[root@R-docker ~]# docker version
Client: Docker Engine - Community
 Version:           29.6.1
 API version:       1.55
 Go version:        go1.26.4
 Git commit:        8900f1d
 Built:             Fri Jun 26 11:44:00 2026
 OS/Arch:           linux/amd64
 Context:           default
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory

查看 Docker 相关进程:

[root@R-docker ~]# ps aux|grep docker
root        2619  0.0  0.0   6392  2072 pts/1    S+   11:40   0:00 grep --color=auto docker

列出本地已构建的所有 Docker 镜像:

[root@R-docker-2 ~]# docker images
                                                                                                                  i Info →   U  In Use
IMAGE                                                             ID             DISK USAGE   CONTENT SIZE   EXTRA
nginx:latest                                                      127262f8c4c7        270MB           71MB    U   
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest   127262f8c4c7        270MB           71MB    U

其中 nginx:latest 表示软件名为 nginx,版本为 latest(最新版)。

7.3 运行 Docker 容器

docker run 命令会从指定的镜像创建一个新的容器,并启动它来运行一个进程。

示例:启动一个 nginx 容器,使用镜像版本为 nginx:1.30.3,宿主机监听 8081 端口,容器监听 80 端口,容器名为 sc-1,放到后台运行。

docker run -d --name sc-1 -p 8081:80 nginx:1.30.3

参数说明:

  • -d:daemon,作为守护进程在后台运行
  • --name:指定容器的名字
  • -p:publish port,指定发布的端口号(宿主机端口:容器端口)

docker run 命令相当于依次执行了以下三个步骤:

  1. 下载镜像:docker pull
  2. 创建容器:docker create
  3. 启动容器:docker start

分步操作示例:

# 1. 下载镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.30.3
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.30.3 docker.io/nginx:1.30.3
2. 创建容器
docker create --name sc-1 -p 8081:80 nginx:1.30.3
3. 启动容器
docker start sc-1

8. DHCP 服务

DHCP(动态主机配置协议)是一种网络管理协议,用于自动分配 IP 地址和其他网络配置参数。Docker 内部有专门的 DHCP 服务器软件,可以给容器分配 IP 地址、配置网关、子网掩码和 DNS 服务器地址。

9. MySQL 数据库容器操作

9.1 下载 MySQL 镜像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.6
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.6 docker.io/mysql:8.4.6

查看镜像:

[root@R-docker run]# docker images
                                                                                                                  i Info →   U  In Use
IMAGE                                                             ID             DISK USAGE   CONTENT SIZE   EXTRA
mysql:8.4.6                                                       7c6a49430969       1.07GB          237MB        
nginx:1.30.3                                                      b38976776413        236MB         64.1MB    U   
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.6    7c6a49430969       1.07GB          237MB        
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.30.3   b38976776413        236MB         64.1MB    U

9.2 启动 MySQL 容器

docker run -d --name sc-mysql-1 -p 3306:3306 -e "MYSQL_ROOT_PASSWORD=sc123456" mysql:8.4.6

参数说明:

  • -e "MYSQL_ROOT_PASSWORD=sc123456":传递环境变量,设置 MySQL 里 root 用户的密码为 sc123456

容器管理命令:

docker stop sc-mysql-1   # 停止容器
docker rm sc-mysql-1     # 删除容器(remove)
docker top sc-mysql-1    # 查看容器里运行的进程

9.3 进入 MySQL 容器并操作数据库

[root@R-docker run]# docker exec -it sc-mysql-1 bash   # 进入 sc-mysql-1 容器内部,执行 bash 解释器程序
bash-5.1# mysql -uroot -p'sc123456'                    # 使用 root 用户和密码登录 MySQL
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.6 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;                                 # 显示所有数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
mysql> exit                                           # 退出 MySQL
Bye
bash-5.1# cd /
bash-5.1# ls
afs  boot  docker-entrypoint-initdb.d  home  lib64  mnt  proc  run   srv  tmp  var
bin  dev   etc                          lib   media  opt  root  sbin  sys  usr
bash-5.1# cat /etc/oracle-release                     # 查看容器里的 Oracle Linux 版本
Oracle Linux Server release 9.6
bash-5.1# exit                                        # 退出容器
exit

命令说明:

  • docker exec -it sc-mysql-1 bash:-it 开启一个终端,接受用户的输入,可以交互式输入内容;sc-mysql-1 是容器名;bash 是进入容器后运行的解释器程序。
  • mysql -uroot -p'sc123456':-uroot 指定用户名为 root;-p'sc123456' 指定密码为 sc123456。
  • mysql>:表示已成功进入 MySQL 数据库管理系统内部,可以执行 SQL 语句。

10. 配置静态 IP 地址

给服务器配置静态 IP 地址,避免每次重启后 IP 地址变化(DHCP 动态分配)。

10.1 进入网卡配置目录

[root@R-docker ~]# cd /etc/NetworkManager/system-connections/
[root@R-docker system-connections]# ls
ens160.nmconnection

10.2 查看路由表获取网关

[root@R-docker system-connections]# ip route
default via 192.168.88.2 dev ens160 proto dhcp src 192.168.88.128 metric 100  # 默认网关
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.10.0/24 dev ens160 proto kernel scope link src 192.168.10.128 metric 100

注意:配置静态 IP 时,IP 地址的第三段需要与当前网络环境一致(示例中为 88)。

10.3 修改 ens160 网卡配置文件

[root@R-docker system-connections]# vim ens160.nmconnection

配置文件内容示例:

[connection]
id=ens160
uuid=a7b074c2-4339-3fef-b0da-c86ffa99ffff
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1783345134
[ethernet]
[ipv4]
method=manual
address1=192.168.88.128/24,192.168.88.2
dns=114.114.114.114;192.168.10.2;
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]

10.4 重载网络并重启网卡

[root@R-docker system-connections]# nmcli c reload ens160  # 重新加载该连接的配置文件(不重启)
[root@R-docker system-connections]# nmcli c down ens160 && nmcli c up ens160  # 停用 + 激活该连接(重启)

10.5 验证静态 IP 配置

更多推荐