Docker镜像文件打包和启动简易教程-Buildx构建多平台镜像

Docker

1、创建Dockerfile

在目标文件夹下执行以下命令

touch Dockerfile

生成Dockerfile文件后,在其中写入

#基于的基础镜像
FROM python:3.7.15
#代码添加到code文件夹
ADD . /code
# 设置code文件夹是工作目录
WORKDIR /code
# 安装支持
RUN pip install -r requirements.txt # 运行程序需要的基础依赖
# 执行命令
CMD ["python", "/code/Environmental/run.py"] # 镜像文件执行的命令

2、镜像文件打包和启动

将本地Python项目打包成docker镜像,并在docker中运行 - 灰信网(软件开发博客聚合)

创建docker, .必不可少

docker build -t my_docker_name .  

保存打包的镜像文件

docker save -o /path/to/save/my_docker_name.tar my_docker_name:latest

命令行启动镜像文件

docker run --name my_container_name -itd -p 7010:6000 -v /opt/data:/opt/data my_docker_name:latest
# --name:命名启动的容器
# -itd:-i:以交互模式运行容器 -t:为容器重新分配一个伪输入终端 -d:后台运行容器 写在一起就是组合命令,-id -it -itd
# -p:-publish的缩写,用于开放端口, 7010:6000,将宿主机端口7010映射到容器端口6000
# -v:挂载目录,将宿主机的目录(前)挂载到容器内部的目录(后),这样宿主机目录和容器内的目录就互通.可以互相传输文件
#  容器目录不可以为相对路径;宿主机目录如果不存在,则会自动生成。可以挂载多个目录
# my_docker_name:要启动的镜像文件

compase启动镜像文件

  1. 首先写入一个docker_name.yaml文件
# yaml 配置
version: '3'
services:
  my_container: # 容器名称
    image: my_docker_name:latest # 启动的镜像文件
    container_name: my_container # 容器名称
    ports: # 端口映射
      - 7010:6000
    volumes: # 路径挂载
      - /opt/data:/opt/data"
  1. docker compose启动服务
docker-compose -f docker_name.yaml -d up
# docker-compose:Docker Compose 命令
# -f:指定要使用的 Docker Compose YAML 文件
# -d:以守护进程模式(后台运行)启动容器
# up:启动容器
  1. docker compose停止服务并删除容器
docker-compose -f docker_name.yaml -d down
# docker-compose:Docker Compose 命令
# -f:指定要使用的 Docker Compose YAML 文件
# -d:以守护进程模式(后台运行)启动容器
# down:停止并移除容器

3、删除IMAGE

停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

停止所有容器

docker container stop $(docker container ls -aq)

移除所有容器

docker container rm $(docker container ls -aq)

删除images

docker rmi my_docker_name 

4、docker常用指令

-a # 显示所有容器
-q # 只显示数字ID

https://www.cnblogs.com/jiyuchen1/p/16596526.html

Docker exec 命令 | 菜鸟教程

Docker 命令大全 | 菜鸟教程

查看当前镜像文件的日志

docker logs -f container_name

查看镜像分层

docker image inspect

5、使用Buildx构建多平台镜像

docker buildx是Docker的多架构构建工具,它可以帮助您在不同的处理器架构上进行跨平台构建。它是一个功能强大的工具,允许您使用单个命令构建多个平台的Docker镜像。

以下是使用docker buildx的一般步骤:

  1. 确保您已经安装了Docker,并且版本是19.03或更高版本。您可以通过运行docker version命令来验证。

  2. 确认是否已启用了experimental功能。docker buildx是一个实验性功能,需要将实验性功能设置为启用。您可以通过编辑~/.docker/config.json文件,将experimental设置为enabled,或者设置环境变量DOCKER_CLI_EXPERIMENTAL=enabled来启用它。

  3. 创建一个新的builder实例,使用docker buildx create命令创建一个新的构建器。例如,创建名为mybuilder的构建器:

docker buildx create --name mybuilder
  1. 切换到所创建的构建器中,使用docker buildx use命令。例如:
docker buildx use mybuilder
  1. 配置构建器以支持多个平台。您可以使用docker buildx inspect命令来查看当前构建器的配置,并使用docker buildx create命令的--platform选项来添加支持的平台。例如,为了支持Linux的ARM和x86_64架构:
docker buildx inspect --bootstrap
docker buildx create --use --platform linux/amd64,linux/arm64
  1. 构建跨平台的Docker镜像。您可以使用docker buildx build命令来构建镜像,与普通的docker build命令类似。唯一的区别是,您需要使用--builder选项指定构建器的名称。例如:
docker buildx build --builder mybuilder --platform linux/amd64,linux/arm64 -t your-image:tag . --load/--push

上述命令将会构建一个同时支持x86_64和ARM架构的镜像。

--load构建镜像文件,并导出到本地Docker images中。之后的保存、启动可以直接用docker指令

--push推送到仓库中

这样,您就可以使用docker buildx工具来构建跨平台的Docker镜像。它会自动根据指定的平台进行构建,并生成适用于不同架构的镜像。请记住,您仍然需要在目标架构的平台上才能运行相应的镜像。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要把前端代码打包Docker镜像文件,首先需要在项目根目录下创建一个Dockerfile文件,Dockerfile是用来定义Docker镜像构建过程的文件。在Dockerfile文件中,我们需要指定基础镜像,例如Node.js镜像,以及拷贝前端代码到镜像中的指令。具体的步骤如下: 1. 准备Dockerfile文件 在项目根目录下创建一个名为Dockerfile的文件,并在文件中编写构建镜像的指令。 2. 指定基础镜像Dockerfile中使用FROM指令指定Node.js镜像作为基础镜像,例如FROM node:14。 3. 指定工作目录 使用WORKDIR指令指定在镜像中的工作目录,例如WORKDIR /usr/src/app。 4. 拷贝前端代码 使用COPY指令将前端代码拷贝到镜像中的工作目录,例如COPY . /usr/src/app。 5. 安装依赖 如果前端代码需要依赖一些库或者包,可以使用RUN指令在镜像中运行相应的安装命令,例如RUN npm install。 6. 暴露端口(可选) 如果前端代码需要监听端口,可以使用EXPOSE指令暴露相应的端口,例如EXPOSE 3000。 7. 构建Docker镜像 在项目根目录中使用docker build命令构建Docker镜像,例如docker build -t my-frontend-image . 8. 运行Docker镜像 使用docker run命令运行新建的Docker镜像,例如docker run -p 3000:3000 my-frontend-image。 通过以上步骤,我们就可以将前端代码打包Docker镜像文件,并在Docker容器中运行。这样做的好处是可以将前端代码和相关环境依赖打包成一个可移植的镜像文件,方便部署和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值