背景:车载开发,缺少编译服务器,为避免每个人都安装虚拟机,想把我的虚拟机变成服务器,方便同事使用。
1. 配置虚拟机端口转发

2. 编译docker容器
2.1安装docker
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
2.2 配置Dockerfile
FROM ubuntu:22.04
# 安装基础开发工具
RUN apt-get update && apt-get install -y \
build-essential git python3 python3-pip \
wget curl tar xz-utils g++ make \
file vim-common openssh-client \
cmake make \
&& rm -rf /var/lib/apt/lists/*
2.3 编译 Docker 镜像的命令
sudo docker build -t ubuntu2:dev /home/cc/docker/ubuntu2
编译成功,查看镜像包
sudo docker images
2.4 设置启动脚本start_containers.sh
#!/bin/bash
# 启动所有用户容器
# 如果容器不存在,则创建并启动
for user in user1 user2; do
if ! docker ps -a --format '{{.Names}}' | grep -q "$user-container"; then
docker run -d --name $user-container --restart=always --memory=30g --cpus=2 \
-u $(id -u $user):$(id -g $user) \
-w /workspace \
-v /home/$user/workspace:/workspace \
-v /home/cc/sdk_2025_11_24:/home/cc/sdk_2025_11_24:ro \
-v /home/cc/v5/kanziSDK_code:/opt/kanziSDK:ro \
-v /etc/passwd:/etc/passwd:ro \
-v /etc/group:/etc/group:ro \
ubuntu2:dev sleep infinity
else
docker start $user-container
fi
# 进去改权限
#docker exec $user-container sudo chown -R $(id -u $user):$(id -g $user) /workspace
done
停止所有容器:
sudo docker stop user1-container user2-container
删除所有容器:
sudo docker rm user1-container user2-container
启动容器
sudo ./start_containers.sh
记得提前把user账户创建好
3. 使用虚拟机
3.1 ssh登录
ssh user1@ip -p 22022
3.2 sftp访问
使用 WinSCP 或 FileZilla:
- 主机: xx
- 端口: 22022
- 用户名: user1
- 密码: user1的密码

6624

被折叠的 条评论
为什么被折叠?



