Docker
1、創(chuàng)建Dockerfile
在目標文件夾下執(zhí)行以下命令
touch Dockerfile
生成Dockerfile文件后,在其中寫入
#基于的基礎(chǔ)鏡像
FROM python:3.7.15
#代碼添加到code文件夾
ADD . /code
# 設(shè)置code文件夾是工作目錄
WORKDIR /code
# 安裝支持
RUN pip install -r requirements.txt # 運行程序需要的基礎(chǔ)依賴
# 執(zhí)行命令
CMD ["python", "/code/Environmental/run.py"] # 鏡像文件執(zhí)行的命令
2、鏡像文件打包和啟動
將本地Python項目打包成docker鏡像,并在docker中運行 - 灰信網(wǎng)(軟件開發(fā)博客聚合)
創(chuàng)建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:掛載目錄,將宿主機的目錄(前)掛載到容器內(nèi)部的目錄(后),這樣宿主機目錄和容器內(nèi)的目錄就互通.可以互相傳輸文件
# 容器目錄不可以為相對路徑;宿主機目錄如果不存在,則會自動生成??梢話燧d多個目錄
# 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啟動服務(wù)
docker-compose -f docker_name.yaml -d up
# docker-compose:Docker Compose 命令
# -f:指定要使用的 Docker Compose YAML 文件
# -d:以守護進程模式(后臺運行)啟動容器
# up:啟動容器
- docker compose停止服務(wù)并刪除容器
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 # 只顯示數(shù)字ID
https://www.cnblogs.com/jiyuchen1/p/16596526.html
Docker exec 命令 | 菜鳥教程
Docker 命令大全 | 菜鳥教程
查看當(dāng)前鏡像文件的日志
docker logs -f container_name
查看鏡像分層
docker image inspect
5、使用Buildx構(gòu)建多平臺鏡像
docker buildx
是Docker的多架構(gòu)構(gòu)建工具,它可以幫助您在不同的處理器架構(gòu)上進行跨平臺構(gòu)建。它是一個功能強大的工具,允許您使用單個命令構(gòu)建多個平臺的Docker鏡像。
以下是使用docker buildx
的一般步驟:
-
確保您已經(jīng)安裝了Docker,并且版本是19.03或更高版本。您可以通過運行
docker version
命令來驗證。 -
確認是否已啟用了
experimental
功能。docker buildx
是一個實驗性功能,需要將實驗性功能設(shè)置為啟用。您可以通過編輯~/.docker/config.json
文件,將experimental
設(shè)置為enabled
,或者設(shè)置環(huán)境變量DOCKER_CLI_EXPERIMENTAL=enabled
來啟用它。 -
創(chuàng)建一個新的
builder
實例,使用docker buildx create
命令創(chuàng)建一個新的構(gòu)建器。例如,創(chuàng)建名為mybuilder
的構(gòu)建器:
docker buildx create --name mybuilder
- 切換到所創(chuàng)建的構(gòu)建器中,使用
docker buildx use
命令。例如:
docker buildx use mybuilder
- 配置構(gòu)建器以支持多個平臺。您可以使用
docker buildx inspect
命令來查看當(dāng)前構(gòu)建器的配置,并使用docker buildx create
命令的--platform
選項來添加支持的平臺。例如,為了支持Linux的ARM和x86_64架構(gòu):
docker buildx inspect --bootstrap
docker buildx create --use --platform linux/amd64,linux/arm64
- 構(gòu)建跨平臺的Docker鏡像。您可以使用
docker buildx build
命令來構(gòu)建鏡像,與普通的docker build
命令類似。唯一的區(qū)別是,您需要使用--builder
選項指定構(gòu)建器的名稱。例如:
docker buildx build --builder mybuilder --platform linux/amd64,linux/arm64 -t your-image:tag . --load/--push
上述命令將會構(gòu)建一個同時支持x86_64和ARM架構(gòu)的鏡像。
--load
構(gòu)建鏡像文件,并導(dǎo)出到本地Docker images中。之后的保存、啟動可以直接用docker指令
--push
推送到倉庫中文章來源:http://www.zghlxwxcb.cn/news/detail-694991.html
這樣,您就可以使用docker buildx
工具來構(gòu)建跨平臺的Docker鏡像。它會自動根據(jù)指定的平臺進行構(gòu)建,并生成適用于不同架構(gòu)的鏡像。請記住,您仍然需要在目標架構(gòu)的平臺上才能運行相應(yīng)的鏡像。文章來源地址http://www.zghlxwxcb.cn/news/detail-694991.html
到了這里,關(guān)于Docker鏡像文件打包和啟動簡易教程-Buildx構(gòu)建多平臺鏡像的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!