目錄
1、Dockerfile
1.1什么是Dockerfile
1.2常用命令
1.3使用腳本創(chuàng)建鏡像
2、Docker私有倉庫
2.1私有倉庫介紹:
2.2私有倉庫搭建與配置
2.3上傳鏡像到私有倉庫:
1、Dockerfile
1.1什么是Dockerfile
Dockerfile是由一些列命令和參數(shù)構(gòu)成的腳本,這些命令應(yīng)用于基礎(chǔ)鏡像并且最終創(chuàng)建一個新的鏡像。
- Dockerfile是用于定義Docker鏡像構(gòu)建過程的文本文件,它包含了一系列的指令和配置,用于指導(dǎo)Docker引擎在基礎(chǔ)鏡像上構(gòu)建出一個新的鏡像。
- 通過編寫Dockerfile,可以實現(xiàn)自動化、可重復(fù)的構(gòu)建過程,提高容器鏡像的可靠性和可維護(hù)性。
- Dockerfile的編寫規(guī)范和最佳實踐可以幫助優(yōu)化鏡像構(gòu)建過程,減小鏡像大小,提高構(gòu)建速度
對于開發(fā)人員:可以為開發(fā)團(tuán)隊提供一個完全一致的開發(fā)環(huán)境;
對于測試人員:可抑直接拿開發(fā)時所構(gòu)建的鏡像或者通過Dockerfile文件構(gòu)建一個新的鏡像開始工作了;
對于運(yùn)維人員:在部署時,可以實現(xiàn)應(yīng)用的無縫移植
1.2常用命令
命令 | 作用 |
---|---|
FROM image_name:tag | 定義了使用哪個基礎(chǔ)鏡像啟動構(gòu)建流程 |
MAINTAINER user_name | 聲明鏡像的創(chuàng)建者 |
ENV key value | 設(shè)置環(huán)境變量 (可以寫多條) |
RUN command | 是Dockerfifile的核心部分(可以寫多條) |
ADD source_dir/fifile dest_dir/fifile | 將宿主機(jī)的文件復(fù)制到容器內(nèi),如果是一個壓縮文件,將會在復(fù)制后自動解壓 |
COPY source_dir/fifile dest_dir/fifile | 和ADD相似,但是如果有壓縮文件并不能解壓 |
WORKDIR path_dir | 設(shè)置工作目錄 |
1.3使用腳本創(chuàng)建鏡像
創(chuàng)建一個目錄(存放tar包,dockerfile位置):
mkdir -p /usr/local/dockerjdk8
這里下載了jdk的tar包并且將tar包移動到dockerjdk8目錄下面
編輯Dockerfile文件:
vim Dockerfile
編輯內(nèi)容:
FROM centos:7 MAINTAINER xxx WORKDIR /usr RUN mkdir /usr/local/java ADD jdk-8u60-linux-x64.tar.gz /usr/local/java ENV JAVA_HOME /usr/local/java/jdk1.8.0_60 ENV PATH $JAVA_HOME/bin:$PATH
解壓tar包:
docker build -t='jdk1.8' .
2、Docker私有倉庫
2.1私有倉庫介紹:
- Docker私有倉庫是用于存儲和管理自定義的容器鏡像的中心化平臺,可以在內(nèi)部網(wǎng)絡(luò)中構(gòu)建、存儲和共享鏡像。
- 搭建Docker私有倉庫可以提供更快的鏡像下載速度、更好的安全性和更好的團(tuán)隊協(xié)作體驗。
- Docker私有倉庫的管理包括權(quán)限控制、備份與恢復(fù)、高可用與負(fù)載均衡等方面,可以根據(jù)實際需求進(jìn)行配置和優(yōu)化。
2.2私有倉庫搭建與配置
拉取私有倉庫鏡像:
docker pull registry
Using default tag: latest
latest: Pulling from library/registry
79e9f2f55bf5: Pull complete
0d96da54f60b: Pull complete
5b27040df4a2: Pull complete
e2ead8259a04: Pull complete
3790aef225b9: Pull complete
Digest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b8e39f97fcf866b375
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
啟動私有倉庫容器:
docker run -di --name=registry -p 5000:5000 registry
541b70741fa03693e6d3acdc7da977a2b123fdc66f6123aeb1fd37f24b130c7a
打開瀏覽器輸入地址http://192.168.159.161:5000/v2/_catalog進(jìn)行訪問:
這里的顯示表示私有倉庫搭建成功,但是內(nèi)容還是空的需要增加內(nèi)容:
修該daemon.json
{
"registry-mirrors": ["https://registry.dockercn.com","https://mj9kvemk.mirror.aliyuncs.com"],
"insecure-registries":["192.168.159.161:5000"]
}
重啟docker:
systemctl restart docker
將registry容器啟動:
docker start registr
2.3上傳鏡像到私有倉庫:
打標(biāo)簽:
docker tag jdk1.8 192.168.159.161:5000/jdk1.8
查看:
將該鏡像上傳到私有倉庫:
push 192.168.159.161:5000/jdk1.8
瀏覽器查看(這里上傳成功了):文章來源:http://www.zghlxwxcb.cn/news/detail-494953.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-494953.html
到了這里,關(guān)于了解 Dockerfile 和搭建 Docker 私有倉庫:讓容器化部署變得更簡單的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!