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启动镜像文件
- 首先写入一个
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"
- docker compose启动服务
docker-compose -f docker_name.yaml -d up
# docker-compose:Docker Compose 命令
# -f:指定要使用的 Docker Compose YAML 文件
# -d:以守护进程模式(后台运行)启动容器
# up:启动容器
- 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
的一般步骤:
-
确保您已经安装了Docker,并且版本是19.03或更高版本。您可以通过运行
docker version
命令来验证。 -
确认是否已启用了
experimental
功能。docker buildx
是一个实验性功能,需要将实验性功能设置为启用。您可以通过编辑~/.docker/config.json
文件,将experimental
设置为enabled
,或者设置环境变量DOCKER_CLI_EXPERIMENTAL=enabled
来启用它。 -
创建一个新的
builder
实例,使用docker buildx create
命令创建一个新的构建器。例如,创建名为mybuilder
的构建器:
docker buildx create --name mybuilder
- 切换到所创建的构建器中,使用
docker buildx use
命令。例如:
docker buildx use mybuilder
- 配置构建器以支持多个平台。您可以使用
docker buildx inspect
命令来查看当前构建器的配置,并使用docker buildx create
命令的--platform
选项来添加支持的平台。例如,为了支持Linux的ARM和x86_64架构:
docker buildx inspect --bootstrap
docker buildx create --use --platform linux/amd64,linux/arm64
- 构建跨平台的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
推送到仓库中文章来源:https://www.toymoban.com/news/detail-694991.html
这样,您就可以使用docker buildx
工具来构建跨平台的Docker镜像。它会自动根据指定的平台进行构建,并生成适用于不同架构的镜像。请记住,您仍然需要在目标架构的平台上才能运行相应的镜像。文章来源地址https://www.toymoban.com/news/detail-694991.html
到了这里,关于Docker镜像文件打包和启动简易教程-Buildx构建多平台镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!