av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

十分鐘學(xué)會(huì)構(gòu)建自己的鏡像

云計(jì)算 制作docker鏡像一般有2種方法:使用hub倉(cāng)庫(kù)中已有的環(huán)境,安裝自己使用的軟件環(huán)境后完成image創(chuàng)建;通過(guò)Dockerfile,完成鏡像image的創(chuàng)建

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的松溪網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

制作Docker鏡像一般有2種方法:

  1. 使用hub倉(cāng)庫(kù)中已有的環(huán)境,安裝自己使用的軟件環(huán)境后完成image創(chuàng)建
  2. 通過(guò)Dockerfile,完成鏡像image的創(chuàng)建

拉取已有鏡像進(jìn)行改造

這部分將介紹以ppocr鏡像為基礎(chǔ)鏡像拉取并改造的過(guò)程。

步驟 1:運(yùn)行 PPOCR 容器

首先,運(yùn)行 PPOCR 容器??梢允褂靡韵旅睿?/p>

docker run -itd --name ppocr -p 9000:9000 duolabmeng666/paddlehub_ppocr:1.0 /bin/bash -c "sh /PaddleOCR/start.sh"

這將在本地啟動(dòng)一個(gè) PPOCR 容器,該容器將在端口 9000 上提供服務(wù)。

步驟 2:移動(dòng)文件到容器

將所需的文件移動(dòng)到容器內(nèi),使用docker cp命令:

docker cp /data/keyword_api.py ppocr:/home

這將就把 keyword_api.py 文件復(fù)制到正在運(yùn)行的 PPOCR 容器的 /home 目錄下。

步驟 3:創(chuàng)建個(gè)人鏡像托管實(shí)例

因?yàn)閐ockerhub的網(wǎng)絡(luò)環(huán)境并不友好,我們可以使用阿里云的鏡像空間來(lái)代替。可以在容器鏡像服務(wù) (aliyun.com)中創(chuàng)建自己的個(gè)人實(shí)例,并創(chuàng)建相應(yīng)的鏡像倉(cāng)庫(kù)。

步驟 4:提交容器鏡像

之后在服務(wù)器上登錄到 Docker Registry, 需要使用以下命令:

docker login --username=xxxxxx registry.cn-shanghai.aliyuncs.com

然后進(jìn)入到容器中安裝相應(yīng)的依賴(lài)

docker exec -it  container_id /bin/bash

修改完之后,使用以下命令將正在運(yùn)行的容器保存為鏡像:

docker commit [ImageId] my_saved_image

步驟5:打標(biāo)簽和推送鏡像

使用以下命令打標(biāo)簽并將容器鏡像推送到阿里云 Docker Registry:

docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/your_repository/your_image_name:your_image_version
docker push registry.cn-shanghai.aliyuncs.com/your_repository/your_image_name:your_image_version

確保your_repository、your_image_name 和 your_image_version 替換為實(shí)際的倉(cāng)庫(kù)、鏡像名稱(chēng)和版本號(hào)。使用的話(huà)將容器拉取下來(lái)即可。

Dockerfile 文件構(gòu)建鏡像

如果是希望構(gòu)建自定義的 Docker 鏡像而不是從已有鏡像中提交容器,可以使用 Dockerfile。以下是一個(gè)示例 Dockerfile 的構(gòu)建步驟:

步驟 1:編寫(xiě) Dockerfile 創(chuàng)建一個(gè)名為 Dockerfile 的文本文件

FROM registry.cn-shanghai.aliyuncs.com/koudaimao/bigdata_api:v1
設(shè)置端口
EXPOSE 8099
切換工作目錄到 /home
WORKDIR /home
安裝系統(tǒng)工具和 cron
RUN apt-get update && apt-get install -y cron
設(shè)置環(huán)境變量
ENV PATH="/usr/local/python3.7.0/bin:/usr/local/python3.7.0/include:/home/cmake-3.16.0-linux-x86_64/bin:/usr/local/gcc-8.2/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/root/gopath/bin" 
CUDA_VERSION=10.2.89 
CUDA_PKG_VERSION=10-2=10.2.89-1 
LD_LIBRARY_PATH="/usr/local/python3.7.0/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64" 
NVIDIA_VISIBLE_DEVICES=all 
NVIDIA_DRIVER_CAPABILITIES=compute,utility 
NVIDIA_REQUIRE_CUDA="cuda>=10.2 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411 brand=tesla,driver>=418,driver<419 brand=tesla,driver>=440,driver<441" 
NCCL_VERSION=2.8.3 
LIBRARY_PATH=/usr/local/cuda/lib64/stubs 
CUDNN_VERSION=7.6.5.32 
WITH_GPU=ON 
WITH_AVX=ON 
HOME=/root 
CPLUS_INCLUDE_PATH=/usr/local/python3.7.0/include/python3.7: 
GOROOT=/usr/local/go 
GOPATH=/root/gopath
啟動(dòng)命令
RUN chmod +x keyword.sh
添加 cron 任務(wù)到容器
RUN (crontab -l ; echo "0 23 * * * sh /home/keyword.sh") | crontab
RUN (crontab -l ; echo "10 23 * * * rm -r /home/tmp/*") | crontab
同時(shí)運(yùn)行 Python 代碼和 cron 服務(wù)
CMD python3 /home/keyword_and_video_info.py && cron -f

這個(gè) Dockerfile 包括了以下關(guān)鍵步驟:

  • 使用基礎(chǔ)鏡像。
  • 設(shè)置容器端口和工作目錄。
  • 安裝系統(tǒng)工具和 cron。
  • 設(shè)置環(huán)境變量,根據(jù)你的需求進(jìn)行適當(dāng)?shù)呐渲谩?/li>
  • 啟動(dòng)命令,包括給定的 keyword.sh
  • 添加兩個(gè) cron 任務(wù),在每天的晚上11點(diǎn)運(yùn)行

步驟 2:構(gòu)建 Docker 鏡像

使用以下命令構(gòu)建 Docker 鏡像,將上述 Dockerfile 放在與 Dockerfile 同一目錄中:

docker build -t my-container-image .

步驟 3:運(yùn)行容器

使用以下命令運(yùn)行容器,同時(shí)在后臺(tái)執(zhí)行 Python 代碼和 cron 服務(wù):

docker run -d my-container-image

這樣就創(chuàng)建了一個(gè)后臺(tái)運(yùn)行的容器,來(lái)定期任務(wù)后臺(tái)任務(wù)。

需要注意的是,如果容器內(nèi)沒(méi)有后臺(tái)執(zhí)行的任務(wù),則運(yùn)行的容器在創(chuàng)建后的一秒鐘后便會(huì)退出,如果沒(méi)有后臺(tái)任務(wù)又不想容器退出的話(huà),可以使用

CMD ["tail", "-f", "/dev/null"]

放到dockerfile的尾部。


當(dāng)前名稱(chēng):十分鐘學(xué)會(huì)構(gòu)建自己的鏡像
本文地址:http://uogjgqi.cn/article/dhiiejp.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流