久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

dockerfile文件與私有倉庫registry怎么用

162次閱讀
沒有評論

共計 3446 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章主要為大家展示了“dockerfile 文件與私有倉庫 registry 怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“dockerfile 文件與私有倉庫 registry 怎么用”這篇文章吧。

Dockerfile 常用命令(安全)
1.》FROM:構建鏡像基于那個鏡像
例如:FROM centos:7
2》MAINTAINER:鏡像維護者名字或郵箱地址
例如:MAINTAINER adam
3》RUN:構建鏡像時運行的 shell 命令
例如:
RUN[“yum”,”install”,”httpd”]
RUN yum -y install httpd
4 CMD: 運行容器時執行的 shell 命令
例如:
CMD[“/bin/bash”]   或 shell
5 EXPOSE 聲明容器的服務端口
例如:EXPOSE   80   443
6》ENV:設置容器環境變量
例如
ENV  MYSQL_ROOT_PASSWORD  123.com
7》ADD:拷貝文件或目錄的鏡像,如果是 URL 或壓縮包會自動下載或自動解壓
ADD 源文件 … 目標目錄
ADD[“源文件”…”目標目錄”]
8》COPY: 拷貝文件或目錄到鏡像容器內,跟 ADD 類似,但不具備自動下載或解壓功能。
9》ENTRYPOINT:運行容器時執行的 shell 命令
例如
ENTRYPOINT[“/bin/bash”,”-c”,”command”]
ENTRYPOINT /bin/bash -c‘command’
10 VOLUME:指定容器掛載點到宿主機自動生成的目錄或其他容器
例如: (數據持久化)
VOLUME [“/var/lib/mysql”]
docker run  -it –name  xxx  /var/lib/mysql  –volume 指定的是容器 目錄,會將其放到宿主機的某個目錄。
11 USER: 為 RUN。CMD 和 ENTYRYPOINT 執行命令指定運行用戶
12 WORKDIR:為 RUN,CMD,ENTRYPOINT,COPY 和 ADD 設置工作目錄,意思為切換目錄
例如:
WORKDIR:/var/lib/mysql
13 HEALTHCHECK:健康檢查
14 ARG 構建時指定的一些參數
例如:
FROM centos:7
ARG user
USER  $user
注意:
1.RUN 在 building 時運行,可以寫多條
2.CMD 和 ENTRYPOINT 在運行 CONTAINER(容器)時運行,只能寫一條,如果寫多條,最后一條生效
3.CMD 在 run 時可以被 COMMAND 覆蓋,ENTRYPOINT 不會被 COMMAND 覆蓋,但可以指定 –ENTRYPOINT 覆蓋。
4. 如果在 dockerfile 里需要往鏡像內導入文件則此文件必須在 dockerfile 所在目錄或子目錄下。

測試實驗:
使用 dockerfile 文件制作一個鏡像基于 centos:7 鏡像部署安裝 nginx 服務
注意 Nginx 包需要與 dockfile 文件在同一目錄,要不運行時是 dockerfile 文件不允許的
vim  Dockerfile
配置:
FROM    centos:7
RUN     yum -y install gcc  pcre-devel openssl-devel zlib-devel
RUN     yum -y install make
COPY    nginx-1.14.0.tar.gz /
RUN     tar -zxf  nginx-1.14.0.tar.gz -C /usr/src
RUN     useradd -M -s /sbin/nologin nginx
WORKDIR /usr/src/nginx-1.14.0
RUN     ./configure  –prefix=/usr/local/nginx –user=nginx  –group=nginx
RUN     make make install
RUN     ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
RUN     nginx -t
RUN     nginx
EXPOSE  80

另一種將 COPY 改為 ADD 的創建鏡像
FROM centos:7
RUN yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
ADD nginx-1.14.0.tar.gz /usr/src/
RUN useradd -M -s /sbin/nologin nginx
WORKDIR /usr/src/nginx-1.14.0
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
RUN make   make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
RUN nginx -t
RUN nginx
EXPOSE 80

如果編譯安裝時,MAKE 不上,需要在 Dockerfile 文件中添加
yum 一個 make。

執行 Dockerfile 文件的命令:

docker build -t test1 .

查看鏡像
docker images
dockerfile 文件與私有倉庫 registry 怎么用

3)將制作的鏡像運行一個容器,使容器運行時自動開啟 nginx 服務。驗證服務正常運行。
創建容器
docker run -itd –name  test1 test1:latest
進入容器
docker exec -it test1 /bin/bash

如果想要保證容器運行之后,nignx 服務開啟后面需要添加 nginx -g daemon off;
docker run -itd  –name  test1-2 test1:latest  nginx -g daemon off;
查看容器信息
docker inspect  test1-2
curl 172.17.0.2
dockerfile 文件與私有倉庫 registry 怎么用
運行一個私有倉庫,將自制鏡像上傳到私有倉庫,且開啟另外一臺虛擬機同樣加入私有倉庫,在 docker02 上下載私有倉庫鏡像并運行一個容器,驗證服務正常運行。
Registry
用 docker 容器運行 registry 私有倉庫服務
docker  pull registry:2(下載鏡像)
dockerfile 文件與私有倉庫 registry 怎么用

運行私有倉庫服務
docker  run -itd  –name  registry   –restart=always  
-p 5000:5000  -v  /registry:/var/lib/registry  registry:2
-p:端口映射,宿主機端口:容器暴漏的端口。
-v:掛載目錄,宿主機的目錄;容器內的目錄。(自動創建目錄,并掛載)

鏡像重命名;docker tag test1:latest(  鏡像名)192.168.1.1:5000/test(更改后的名)

上傳到私有倉庫
docker push  192.168.1.1:5000/test:latest
dockerfile 文件與私有倉庫 registry 怎么用
需要 https 的所以要更改(記住目錄路徑)
vim  /usr/lib/systemd/system/docker.service(更改)
dockerfile 文件與私有倉庫 registry 怎么用
Secure 安全,insecure 不安全的
[root@docker test1]# systemctl  daemon-reload
[root@docker test1]# systemctl  restart  docker

docker push  192.168.1.1:5000/test:latest(上傳到私有倉庫)
cd /registry/ 私有倉庫位置
在第二臺 docker2 上下載私有倉庫鏡像并運行一個容器,驗證服務正常運行。

vim  /usr/lib/systemd/system/docker.service(更改)
dockerfile 文件與私有倉庫 registry 怎么用
systemctl  daemon-reload
systemctl  restart  docker
下載鏡像
docker pull  192.168.1.1:5000/test:latest 在私有倉庫下載鏡像
docker images
制作容器 lbs1
docker run -itd  –name  lbs1 192.168.1.1:5000/test:latest  nginx -g daemon off;
查看容器 lbs1
docker  inspect lbs1
訪問 nginx
curl 172.17.0.2

以上是“dockerfile 文件與私有倉庫 registry 怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計3446字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 武冈市| 台东市| 广河县| 沅江市| 隆子县| 博湖县| 鹤庆县| 镇康县| 胶南市| 准格尔旗| 顺昌县| 禄劝| 道孚县| 沁水县| 东台市| 青龙| 昌图县| 汝阳县| 弥勒县| 泸水县| 湘西| 邯郸市| 土默特左旗| 威信县| 左贡县| 张家川| 北碚区| 邵东县| 开化县| 浑源县| 蒲城县| 仙桃市| 修水县| 克什克腾旗| 四川省| 神池县| 习水县| 朔州市| 周口市| 巩留县| 霍山县|