要导出制作好的镜像,可以使用 Docker 的
docker save 命令。这个命令会将镜像保存为镜像文件,您可以将其复制到其他地方或者上传到 Docker 仓库。以下是使用 docker save 命令导出镜像的步骤:-
确定镜像ID或名称:
使用
docker images命令查看您的镜像列表,找到您想要导出的镜像的 ID 或名称。 -
导出镜像:
在终端中输入以下命令,将镜像保存为文件:
docker save -o <output_file> <image_id_or_name>
-
验证镜像文件:
使用
file命令来验证您刚刚保存的文件是否是一个有效的镜像文件。
file my-sqlite-app.tar
-
导入镜像文件:
如果您需要在其他系统上使用这个镜像,可以使用
docker load命令来导入镜像。
docker load -i <input_file> 例如,如果您想要在另一个系统上导入刚才导出的镜像文件 my-sqlite-app.tar,命令将是: docker load -i my-sqlite-app.tar
注意,
docker save 命令将镜像保存为 .tar 文件,这实际上是镜像的原始打包格式。docker load 命令则是用于从这种打包格式中加载镜像。如果您想要给导入的镜像添加仓库和标签,需要手动指定它们。
1. 找到镜像ID: 使用 docker images 命令找到您想要添加仓库和标签的镜像的 ID。 docker images 2. 指定仓库和标签: 使用 docker tag 命令将镜像映射到一个新的仓库和标签。例如,如果您想要将镜像 2d47f5d36b4b 映射到仓库 my-registry 和标签 latest,命令将是: docker tag 2d47f5d36b4b my-registry:latest 3. 请将 2d47f5d36b4b 替换为您实际的镜像 ID,将 my-registry 替换为您想要的仓库名称,将 latest 替换为您想要的标签名称。
Dockerfile示例
# 基础镜像使用java form的镜像需要本地存在,不存在可以导入或下载 FROM openjdk:8-jre-slim # author MAINTAINER muluo # 挂载目录 # VOLUME 指定了临时文件目录为/home/app 。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/home/app VOLUME /home/app # 创建目录 RUN mkdir -p /home/app # 设置工作目录 以home为根目录 WORKDIR /home/app # 将构建好的 JAR 文件复制到容器的工作目录中 COPY ./sqlite.jar /home/app/sqlite.jar # 指定容器启动时执行的命令 ENTRYPOINT ["sh","-c","exec java -jar sqlite.jar"]
构建镜像 docker build -t sqlite:1.0 .运行容器 docker run -d -p 8080:8080 --name <contain_name> <images id or name>例:
docker run -d -p 8080:8080 --name sqlite-con sqlite:1.0