Linux全套开发环境搭建
背景
已有一台主力笔记本电脑,后又翻出来了5年前大学时候用的笔记本电脑,为发挥出其剩余价值,安装了ubuntu24-server系统,用于本地开发环境搭建,内网服务器,软件开发测试使用。内容较多,缓慢持续更新
注:由于国内镜像站关闭,文章内全程使用官方库+魔法,也可以预先下载镜像包,导入docker使用
组件:
docker + docker compose + nginx + GitLab + Jenkins + SonarQube + Nexus IQ Server + Kubernetes + Prometheus + Grafana + Cyberflows笔记本配置:
cpu:i7 5500u
运行内存: 12G
存储盘:120G SSD + 1T HDD
Ubuntu24 系统安装
iso 下载
官网地址:https://releases.ubuntu.com/
server版下载地址:https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso
安装系统
官方完整说明,包含U盘引导盘制作,系统安装等:https://help.ubuntu.com/community/Installation/FromUSBStick#Booting_the_Computer_from_USB
建议:安装过程中连接网线,配置proxy进行
系统配置
如果根据视频一步一步安装完毕,进入系统,那么接下来进行一些简单的系统配置
建议切换到root用户继续
sudo -i
SSH
1、在系统安装过程中,已经选择了预装SSH,不确定的可以使用命令确认一下:
sudo apt update
sudo apt install vim # 安装vim
sudo apt install openssh-server
2、检查SSH服务是否运行
sudo systemctl status ssh

如果不是 active (running),可以执行启动命令:
sudo systemctl start ssh
sudo systemctl enable ssh # 开机自启动
3、查看本机IP地址
用以下命令查看Ubuntu的局域网IP:
ip a
一般是192.168.x.x或10.x.x.x类似的内网IP,记下这个IP。
4、 检查防火墙设置
Ubuntu的UFW防火墙如果开启了,要允许SSH端口(默认22端口)通过:
sudo ufw status # 如果是active执行下面命令,否则跳过即可
sudo ufw allow ssh
sudo ufw enable # 如果防火墙原本是关闭状态,需谨慎开启
sudo ufw status
至此,可以通过主力机SSH直接连接操作ubuntu24-server。
切换无线连接
至此,依旧是使用网线连接笔记本操作,如果想要切换为无线连接,按照本步骤操作:
用netplan配置Wi-Fi(适用于没有NetworkManager的纯Server)
1、查看无线网卡
ip link
通常是wlan0、wlp2s0之类的。
2、编辑Netplan配置
sudo vim /etc/netplan/01-netcfg.yaml
如果这个文件名不同(如00-installer-config.yaml),用实际文件编辑即可。
3、添加Wi-Fi配置(参考模板):
network:
version: 2
renderer: networkd
wifis:
wlan0: # 根据你的无线网卡名称修改
dhcp4: true # true 为动态ip
access-points:
"你的WiFi名称":
password: "你的WiFi密码"
注意:
wlan0 改成你的网卡名。
你的WiFi名称 要用引号包住。
缩进要用空格,不能用Tab。
4、应用配置
sudo netplan apply
然后用:
ip a
ping www.baidu.com
确认是否联网成功。
ip固定
至此,完成了wifi连接配置
但是此时ip并不是固定的,而是动态分配的,可按照以下方式解决:
在Netplan中配置静态IP(推荐)
1、编辑你的 Netplan 配置文件:
sudo vim/etc/netplan/01-netcfg.yaml
2、将 dhcp4 改为 false,并指定固定 IP 配置:
network:
version: 2
renderer: networkd
wifis:
wlp3s0:
dhcp4: false
addresses:
- 192.168.1.100/24 # 固定IP,按你的局域网调整
gateway4: 192.168.1.1 # 路由器地址
nameservers:
addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
access-points:
"你的WiFi名称":
password: "你的WiFi密码"
注意事项:
-
addresses 中的 192.168.1.100/24 表示固定的IP和子网掩码(/24通常是255.255.255.0)。
-
gateway4 是你的路由器网关地址。
-
nameservers 可以写常用DNS服务器。
-
你需要根据你局域网的实际网段调整上面参数。
3、 保存并应用:
sudo netplan apply
在路由器上设置DHCP静态绑定
如果你不想在Ubuntu上固定IP,可以进入家用路由器的后台管理页面,以小米路由器AX3000T为例。
访问登陆路由器后台:192.168.311

设置合盖不睡眠、不关机
笔记本当作服务器使用,最方便的便是合上盖子放到角落持续稳定运行,但是笔记本默认合上盖子进入休眠模式,按照如下方式解除:
1、编辑 /etc/systemd/logind.conf:
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
2、重启 logind:
sudo systemctl restart systemd-logind
3、屏蔽休眠机制:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
5、验证
查看 logind 的生效配置
cat /etc/systemd/logind.conf | grep HandleLidSwitch
确认是否配置如下(注意是取消注释的):
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

查看是否屏蔽休眠机制:
sudo systemctl status sleep.target suspend.target
显示: Loaded: masked 即可

魔法
设置系统全局代理(永久生效)
1、编辑环境变量文件:
sudo nano /etc/environment
2、在文件末尾添加:
http_proxy="http://xxxx:xxxx"
https_proxy="http://xxxx:xxxx"
no_proxy="localhost,127.0.0.1"
3、保存后执行:
source /etc/environment
4、验证
curl -I https://download.docker.com/linux/ubuntu/gpg

安装docker
1、 安装必要的依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
2、添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3、设置Docker官方仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4、更新软件包索引(包含Docker仓库)
sudo apt update
5、安装Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6、启动并设置Docker开机自启
sudo systemctl start docker
sudo systemctl enable docker
7、验证Docker是否安装成功
docker search --limit 10 mysql
docker前置
1、检查 docker compose 版本
docker compose version
2、如果有输出则已安装
- docker compose v2 版本命令: docker compose up -d
- docker compose 旧 版本命令: docker-compose up -d
3、如果你仍需用传统命令 docker-compose,可以按以下步骤安装:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
4、安装完成后,测试:
docker-compose --version
5、通过包管理器安装(可能版本较旧)
sudo apt update
sudo apt install docker-compose
但官方仓库版本可能比较老,不建议用于生产环境。
- 安装完成使用示例
传统命令:
docker-compose up -d
新版 Docker CLI 命令:
docker compose up -d
安装 GitLab
1、创建挂载目录
mkdir -p /D/software/gitlab/data
mkdir -p /D/software/gitlab/config
mkdir -p /D/software/gitlab/logs
cd /D/software/gitlab/
2、拉取官方镜像
docker pull gitlab/gitlab-ce:latest
说明:gitlab-ce 为GitLab Community Edition(社区版),免费且功能完整。
3、使用 Docker 运行 GitLab
方法一:直接运行
docker run -d \
--hostname gitlab.example.com \
--publish 443:443 \
--publish 80:80 \
--publish 2222:22 \
--name gitlab \
--restart always \
-v /D/software/gitlab/config:/etc/gitlab \
-v /D/software/gitlab/logs:/var/log/gitlab \
-v /D/software/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
方法二:docker compose 启动
vim docker-compose.yml
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: gitlab.local # 可改为服务器IP或自定义域名
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.local' # 访问地址(IP或域名)
ports:
- "80:80"
- "443:443"
- "2222:22" # 注意,22端口已经被SSH占用,所以映射时不可以使用22:22
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/gitlab
external_url 必须设置为实际访问的地址(局域网内用IP也可以)。
数据卷直接映射到当前文件夹,方便管理。
4、启动 GitLab
docker compose up -d
5、查看启动日志:
docker-compose logs -f
6、首次访问与初始化
访问:
http://服务器IP/ 或 http://gitlab.local/
第一次访问时:
设置 root 密码;
默认账号是:
root
默认密码
vim /D/software/gitlab/config/initial_root_password

安装jenkins
1、创建挂载目录
mkdir -p /D/software/jenkins/{data,logs}
cd /D/software/jenkins/
2、拉取官方 Jenkins 镜像
docker pull jenkins/jenkins:lts
lts 为长期支持版(推荐)。
3、直接运行jenkins
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /D/software/jenkins/data:/var/jenkins_home \
-v /D/software/jenkins/logs:/var/log/jenkins \
--restart always \
jenkins/jenkins:lts
4、docker compose 运行jenkins
vim docker-compose.yml
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
restart: always
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./data:/var/jenkins_home
- ./logs:/var/log/jenkins
5、获取初始密码
vim /D/software/jenkins/data/secrets/initialAdminPassword
6、访问 Jenkins,浏览器打开:
http://服务器IP:8080
7、Jenkins 安装后,建议安装:
-
Docker 插件(方便在 Jenkins 内部直接管理 Docker 容器)
-
Pipeline 插件(实现流水线构建)
-
Jenkins 运行过程中建议将数据卷备份,以便于灾难恢复
附
挂载其他复盘到系统盘
1、查看盘符信息
lsblk

2、格式化盘->ext4
ext4 是Linux下最常用的本地文件系统。支持权限、软硬链接、较少的碎片。性能和兼容性比ntfs好。一般windows使用的是ntfs格式,如果没有数据可以选择格式化为ext4,如果不想,也可以根据第三步直接挂载ntfs
第一步:先卸载B盘(如果已挂载):
sudo umount /dev/sdb5
第二步:执行格式化(⚠️会清空所有数据):
sudo mkfs.ext4 /dev/sdb5
第三步:创建挂载点:
sudo mkdir /mnt/bdisk
第四步:挂载:
sudo mount /dev/sdb5 /mnt/bdisk
第五步:查看是否成功:
df -h | grep /mnt/bdisk
3、直接挂载ntfs
安装ntfs支持:
sudo apt update
sudo apt install ntfs-3g
然后挂载:
sudo mkdir /mnt/bdisk
sudo mount -t ntfs-3g /dev/sdb5 /mnt/bdisk
4、开机自动挂载B盘(可选)
第一步:确认文件系统类型
先确认B盘(/dev/sdb5)的文件系统类型(ext4、ntfs等):
sudo blkid /dev/sdb5
你会看到类似这样的输出:
/dev/sdb5: UUID="xxxx-xxxx" TYPE="ext4"
- UUID:磁盘的唯一标识,建议用它挂载更稳定。
- TYPE:文件系统类型(比如ext4、ntfs)。
第二步:创建挂载目录
sudo mkdir /mnt/bdisk
这是B盘挂载后的访问路径。
第三步:编辑 /etc/fstab 配置
打开fstab文件:
sudo nano /etc/fstab
在文件末尾添加一行:
UUID=xxxx-xxxx /mnt/bdisk ext4 defaults 0 0
UUID=xxxx-xxxx:替换成你刚才通过blkid看到的UUID。
- /mnt/bdisk:你的挂载路径。
- ext4:如果你的磁盘是ext4类型,保持这样。ntfs则改成ntfs。
- defaults:使用默认挂载参数。
示例(假设UUID是1234-ABCD,文件系统是ext4):
UUID=1234-ABCD /mnt/bdisk ext4 defaults 0 0
第四步:验证是否配置正确
在不重启的情况下,可以用下面的命令测试fstab配置是否正常:
sudo mount -a
如果没有任何错误提示,说明fstab配置正确。
第五步:开机自动挂载生效
重启后,系统会自动把B盘挂载到 /mnt/bdisk,你可以这样确认:
df -h | grep /mnt/bdisk
看到B盘出现在列表中,说明自动挂载成功。
切换开机允许使用root用户登陆
Ubuntu Server(包括24版)默认禁止root账户直接通过SSH登录,这是为了安全考虑。
如果你确实需要允许root用户通过SSH直接登录,可以按以下步骤操作(注意风险):
1、开启SSH允许root登录,编辑SSH配置文件
sudo vim /etc/ssh/sshd_config
2、找到以下配置项:
#PermitRootLogin prohibit-password
修改为:
PermitRootLogin yes
# (如果前面有#,请去掉注释;如果是without-password或prohibit-password,改为yes)
3、保存文件并重启SSH服务
sudo systemctl restart ssh
4、确保root用户已设置密码
(你已经设置过)
sudo passwd root
5、现在就可以用root账户+密码通过SSH客户端直接登录了。
⚠️ 不建议直接用root远程登录的原因:
root权限过高,易受攻击。
日常操作建议使用普通账户,通过sudo提升权限。
如果实在需要root远程管理,建议改用SSH密钥登录并禁用密码登录

浙公网安备 33010602011771号