选择`可执行文件`或者`容器`生成新的镜像

一、选择 `可执行文件` 生成新的镜像

1、在项目的目录下编写 `Dockerfile`

# 使用一个基础的镜像,例如官方的 Ubuntu 镜像
FROM ubuntu:latest

# 安装依赖的包
RUN apt-get update \
    && apt-get install xxxx(选择所需要安装的包文件)

# 设置工作目录
WORKDIR /xxx(所选的项目路径)


# 复制 build 目录到工作目录
COPY xxx/jjj /xxx/jjj (表示复制本地xxx目录下的jjj文件拷贝到相应的镜像中)


# 设置环境变量以指向库文件的位置(如果需要)
ENV LD_LIBRARY_PATH=********

# 容器启动时运行的命令
CMD ["/bin/bash", "-c", "xxx(表示原本项目的启动命令)"]

2、在`Dockerfile`目录下,根据 Dockerfile 中的指令创建 Docker 镜像

docker build --no-cache -t xxx(表示你想取的镜像名称) .

3、保存为 .tar 文件

docker save -o xxx.tar xxx

4、把本地的 `.tar` 文件复制到新的服务器上

(1)可以先使用 scp 复制到其他服务器上
(2)在使用 docker cp 复制到本地 Linux 中

5、然后加载这个镜像到你新的Docker环境上

docker load -i ./xxx.tar

6、启动它并且新的服务器上生成新的容器

# 如果什么都不需要的话
docker run -it xxx 

# 如果需要映射端口(比如从8000,映射到8092)
docker run -p 8000:8000 -p 8092:8092  -it xxx

# 如果需要 容器自启动
docker run -p 8000:8000 -p 8092:8092 --restart always -it dimension_postgresql

# 如果需要 nginx 在容器启动时也自启动
docker run -d -p 8000:8000 -p 8092:8092 dimension_postgresql nginx -g "daemon off;"

7、进入容器并启动项目

# 查看新的镜像
docker images

# 查看启动的新的容器
docker ps

# 进入容器
docker exec -it xxx(新的容器id) bash

启动项目

8、最终可以实现在其他服务器上面看不到源码的情况下,在其他服务器上运行程序

 

二、打包新的容器生成新的镜像

1、停止要打包的容器

docker stop xxx

2、将容器打包生成新的镜像

docker commit xxx(上面停止的容器id) jjj(你想取的镜像名称):laster(你想取的标签)

3、确定新的镜像已经创建

docker images

4、将新的镜像导出为 `.tar` 文件

docker save -o xxx.tar xxx:laster

 5、接着可以保存其到新的服务器并上运行

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值