在不连接外网的情况下使用 Docker,可以通过以下方案实现:
bash
# 在有网络的机器上拉取镜像并导出
docker pull nginx:latest
docker save -o nginx.tar nginx:latest
将 nginx.tar
拷贝到离线机器后导入:
bash
docker load -i nginx.tar
bash
docker run -d --name my-nginx nginx:latest
bash
docker pull nginx
docker tag nginx localhost:5000/nginx
docker push localhost:5000/nginx
/var/lib/registry
)打包,拷贝到离线机器并启动仓库:
bash
docker run -d -p 5000:5000 -v /path/to/registry:/var/lib/registry registry:2
bash
docker pull localhost:5000/nginx
docker-20.10.9.tgz
)。bash
tar xzvf docker-20.10.9.tgz
sudo cp docker/* /usr/bin/
bash
sudo dockerd &
Dockerfile
、二进制文件、安装包)拷贝到离线机器。dockerfile
FROM alpine:3.12
COPY local-package.tar /app/
RUN tar -xvf /app/local-package.tar
构建命令:
bash
docker build -t my-app .
通过以上方法,即使没有外网也能正常使用 Docker。根据实际需求选择最适合的方案即可。