不联网环境docker安装及python示例镜像
不联网环境docker安装
如果提供的不联网环境没有docker应用,可以自行安装,提供了x86版本和arm64版本
tar -zxvf docker-28.4.0.tgz 
sudo mv docker/* /usr/bin
sudo vim /usr/lib/systemd/system/docker.service
加入如下内容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
添加可执行权限:
sudo chmod +x /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker    #启动docker服务
systemctl enable docker   #开机自启
docker环境制作与更新
提供了2个python3.12 环境,分别为x86架构和arm架构
如果后续依赖了新的python三方库,或者提供的镜像安装的依赖不全,可以参考下列步骤
# 在联网设备中,加载镜像
docker load -i mcp1028-docker-x64.tar
# 进入容器
docker run -it mcp:1028
# 安装缺少的依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn numpy matplotlib pathlib typing
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyproj sympy shapely
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple geopy 
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mcp
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastapi
# 提交修改并保存为新的镜像
docker commit 容器ID 镜像名:版本
docker save 镜像名:版本 | gzip > 文件名
不联网环境镜像加载与服务启动
# 在不能联网设备中,加载镜像
docker load -i mcpdocker.tar.gz 
docker image list #查看有哪些镜像
# 启动容器
docker run -v /home/kylin/mcp:/app -it -p 8000-8100:8000-8100 --name mcp mcp:1028
docker run -v /home/uavlab/docker/mcp:/app -it -p 8000-8100:8000-8100 --name mcp mcp:1028
docker run -v /home/meta/python/mcp:/app -it mcppython:1028
docker run -v /home/meta/python/mcp:/app -it -p 8001:8001 -p 8002:8002 --name mcp mcp:1028
# 如果在x86架构上启动arm架构的镜像,需要挂载qemu-aarch64-static翻译x86指令为arm指令,使用如下指令启动容器
docker run -v /home/meta/python/mcp:/app -v qemu-aarch64-static:/usr/bin/qemu-aarch64-static -it -p 8001:8001 -p 8002:8002 --name mcparm mcparm:1030
# 如果在arm架构上
docker run -v /home/meta/python/mcp:/app -it -p 8001:8001 -p 8002:8002 --name mcparm mcparm:1030# 应用启动
docker start 容器ID
docker exec -it 容器ID /bin/bash
docker run -v /home/meta/python/mcp:/app -it -p 8000-8100:8000-8100 mcp:latest
本文所涉及资源路径:https://download.csdn.net/download/iamqianrenzhan/92231697
