亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

詳解基于Docker的服務部署流程

2024-09-01 13:55:15
字體:
來源:轉載
供稿:網友

本次總結涉及到Docker-io、Docker-ce的安裝、CentOS7鏡像的制作、Docker私有倉庫搭建、CentOS6.7環境下從CentOS7私有倉庫拉取私有鏡像、Docker容器運行、CentOS6.5及CentOS7一起運行時兼容性處理等內容。

一、Docker基本組件及DevOps運作流程

DockerImage:Docker鏡像是一個運行容器的只讀模板。

DockerContainer:Docker容器是一個運行應用的標準化單元。

DockerRegistry:Docker注冊服務器用來存放鏡像。

DockerEngine:Docker引擎用來在主機上創建,運行和管理容器。

二、Docker安裝與配置

由于Docker國外站點下載較慢或無法正常下載,需要更新為國外源之后再進行快速安裝配置。CentOS6.5安裝docker-io,CnetOS7安裝docker-ce

#創建docker相關的目錄mkdir -p /data/docker#安裝docker運行必要工具sudo yum install -y yum-utilsdevice-mapper-persistent-data lvm2 crontabs#增加docker下載倉庫,使用阿里云倉庫下載,國外站點下載太慢sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum makecache fast#安裝docker并檢測docker安裝運行情況sudo yum -y install docker-cedocker versionsystemctl enable docker.servicesystemctl start docker.service#配置dockersudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json<<-'EOF'{"graph": "/data/docker"}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

三、搭建私有Docker倉庫

Docker安裝完成后dockerd的配置文件在/etc/docker/daemon.json中,如果沒有該文件,可以手動創建。

1、安裝配置registry鏡像

pull docker官方的registry的第二個版本,docker1.6版本以上支持registry2

docker pull registry:2.6.0

或者不指定版本,表示latest版本

docker pull registry

配置daemon.json,去掉docker默認的https的訪問,否則易出現如下問題:

Get https://120.78.253.133:5000/v2/:http: server gave HTTP response to HTTPS client

打開配置文件

vim /etc/docker/daemon.json

里面的內容是一個json對象,加上一項insecure-registries,地址自己更改:

{  "insecure-registries":["192.168.1.78:5000"]}

此處設置無效時,直接配置服務程序如下(增加紅色字體內容):

vim/usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd --insecure-registry 172.18.3.242:5000

重啟docker

systemctl daemon-reloadsystemctl restart docker

2、無認證啟動registry容器

上傳到私有倉庫的鏡像時是默認存放在容器的/var/lib/registry/,為了防止刪除registry時上傳的鏡像也被刪除,所以啟用一個volume,將上傳的鏡像持久化保存在我們物理機上,這里保存位置是/opt/registry/。

 

復制代碼代碼如下:
docker run -d --name registry -p5000:5000 --restart=always -v /opt/registry/:/var/lib/registry/ registry:2.6.0

 

測試是否啟動容器

curlhttp://192.168.1.78:5000/v2/_catalog

如果返回以下信息表示啟動成功

{"repositories":["mynginx"]}

3、私有倉庫推拉私有鏡像

測試上傳到我們自己的私有registry,首先將mynginx鏡像重命名tag:

docker tag mynginx 192.168.1.78:5000/mynginx

這里需要注意的是重命名的tag必須帶有建立192.168.1.78:5000/這個前綴,后面的mynginx是新鏡像名,二者名稱可以不同。然后開始push到我們建立的私有registry倉庫:

docker push 192.168.1.78:5000/mynginx

檢測推送鏡像的情況,返回以下結果說明推送正常。

curl http://192.168.1.78:5000/v2/_catalog{"repositories":["mynginx"]}

測試私有倉庫鏡像拉取pull,本機拉取如下:

docker rmi 192.168.1.78:5000/mynginx

其他物理主機拉取私有倉庫鏡像,在安裝docker前提下配置/etc/docker/daemon.json文件添加insecure-registries,ip地址自己更改:

{  "insecure-registries":["192.168.1.78:5000"]}

然后重啟docker,執行pull,同理也可以上傳鏡像

systemctl daemon-reloadsystemctl restart dockerdocker pull 192.168.1.78:5000/mynginx

4、Dockerfile創建服務鏡像

Dockfile是一種被Docker程序解釋的腳本,Dockerfile由一條一條的指令組成,每條指令對應Linux下面的一條命令。Docker程序將這些Dockerfile指令翻譯真正的Linux命令。Dockerfile有自己書寫格式和支持的命令,Docker程序解決這些命令間的依賴關系,類似于Makefile。Docker程序將讀取Dockerfile,根據指令生成定制的image。相比image這種黑盒子,Dockerfile這種顯而易見的腳本更容易被使用者接受,它明確的表明image是怎么產生的。有了Dockerfile,當我們需要定制自己額外的需求時,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻煩。

基于centos7創建鏡像,首先拉取centos7鏡像,

docker pull centos7

制作鏡像的dockerfile如下所示:

FROM centos:7MAINTAINER tcy  tiancy@jovision.comRUN yum  update  -y && /  yum  install crontabs iproutewget net-tools gcc automake autoconflibtool make gcc gcc-c++  zlib* zlib-devel -yRUN mkdir -p /home/mynginxCOPY  octmts /home/mynginx/octmtsCOPY  tools /home/mynginx/toolsWORKDIR /home/mynginx/octmtsRUN chmod –R 755 *RUN sh install.sh octmts

編譯創建鏡像

docker build -t octmts -f dockerfile-octmts  .

創建容器

程序文件和dockerfile放在同一目錄

 

復制代碼代碼如下:
docker create --name octmts3.0 -v/home/docker_oct/data:/home/mynginx/octmts/log -p 50000:50000 -p 50001:50001 -p50002:50002 octmts1.0

 

創建容器+運行

 

復制代碼代碼如下:
docker run -id --net=host --nameoctmts2.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:5000octmts1.0

 

創建CentOS7容器,使用systemctl后臺運行服務程序時遇到以下問題:

Failed to get D-Bus connection

解決方案(此方案在主機是CentOS6.5系統下無效,暫時無法處理):

 

復制代碼代碼如下:
docker create --privileged --net=host --nameoctmts3.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:50000 -p50001:50001 -p 50002:50002 octmts1.0 /usr/sbin/init

 

或者

 

復制代碼代碼如下:
docker run --privileged --net=host -id --nameoctmts3.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:5000octmts1.0 /usr/sbin/init

 

 四、CentOS6.5系統下使用私有倉庫的兼容問題

CentOS6.5系統下使用私有倉庫時由于版本問題導致pull私有鏡像失敗,Docker 1.7.1版本pull私有鏡像倉庫報錯,V1,V2等。Docker 1.7版本和Docker CE的配置文件的位置不同:

Docker 1.7版本 /etc/sysconfig/docker

Docker CE版本使用 /etc/docker/daemon.json

使用docker 1.7版本如果要pulldocker registry v2或harbor里的鏡像,如果沒有配置CA證書的話,需要配置insecure-registry,并且需要將這個參數加到docker daemon的啟動參數里。配置步驟:

1、Docker 1.7解決辦法

⑴ 配置DOCKER_OPTS參數并保存

[root@123 ] # vi /etc/sysconfig/dockerother_args=DOCKER_CERT_PATH=/etc/docker## addDOCKER_OPTS="--insecure-registry ip:port"

⑵ 修改啟動項

[root@123 ] # vi /etc/init.d/docker## 找到 start 函數,在exec處增加剛配置的DOCKER_OPTS,參見下邊空行處start() {  if [ ! -x $exec ]; then   if [ ! -e $exec ]; then    echo "Docker executable $exec not found"   else    echo "You do not have permission to execute the Docker executable$exec"   fi   exit 5  fi  check_for_cleanup   if ! [ -f $pidfile ]; then    prestart    printf "Starting $prog:/t"    echo "/n$(date)/n" >> $logfile    ## addDOCKER_OPTS    $exec -d $DOCKER_OPTS &>> $logfile &    pid=$!    touch $lockfile    # waitup to 10 seconds for the pidfile to exist. see    #https://github.com/docker/docker/issues/5359    tries=0    while [ ! -f $pidfile -a $tries -lt 10 ]; do      sleep 1      tries=$((tries + 1))    done    success    echo  else    failure    echo    printf "$pidfile still exists.../n"    exit 7  fi}

⑶ 重啟docker并驗證pull功能

[root@123 ] # service docker restart

⑷其他方法

不這么費事,直接修改啟動項,原理和結果都是相同的,然后重啟dockerdaemon

[root@123 ] # vi /etc/init.d/docker## 找到exec,直接添加--insecure-registry ip:portprog="docker"exec="/usr/bin/$prog --insecure-registryip:port"pidfile="/var/run/$prog.pid"lockfile="/var/lock/subsys/$prog"logfile="/var/log/$prog"

2、Docker CE版本

檢查/etc/docker目錄下是否有daemon.json文件,如果沒有則創建,或者直接vi/etc/docker/daemon.json修改完在:wq也行。

[root@123 ] # vi /etc/docker/daemon.json## add{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries" : ["ip:port","ip:port"]}

添加完成后重啟docker服務

service docker restart

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人在线精品视频| 国产欧美亚洲视频| 欧美野外wwwxxx| 在线成人激情视频| 中文字幕日韩精品在线观看| 久久精品夜夜夜夜夜久久| 国模精品一区二区三区色天香| 国产亚洲精品激情久久| 久久久www成人免费精品| 久久亚洲精品成人| 成人黄色av免费在线观看| 国产mv免费观看入口亚洲| 国产小视频国产精品| 久久av中文字幕| 久热精品视频在线| 色中色综合影院手机版在线观看| 欧美性一区二区三区| 久久久久久有精品国产| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品一区二区三区国产精品| 国产aⅴ夜夜欢一区二区三区| 国产精品免费一区二区三区都可以| 亚洲电影免费观看高清完整版| 国产精品极品尤物在线观看| 91精品视频网站| 91精品国产一区| 国产丝袜精品第一页| 热99在线视频| 在线精品国产欧美| 正在播放欧美视频| 伊人久久久久久久久久| 国产精品日韩欧美| 国产欧美一区二区三区久久| 午夜精品一区二区三区在线视频| 91精品国产91久久久久久久久| 福利精品视频在线| 亚洲自拍小视频免费观看| 懂色aⅴ精品一区二区三区蜜月| 九九热这里只有精品免费看| 欧美在线影院在线视频| 欧美丰满老妇厨房牲生活| 国产91精品网站| 欧美午夜精品伦理| 国产成人亚洲综合91| 亚洲最新视频在线| 亚洲成人xxx| 欧美巨乳美女视频| 久久在线免费观看视频| 97国产精品视频人人做人人爱| 久久国产精品久久久久久| 日本中文字幕久久看| 欧美日韩国产成人在线| 成人欧美在线观看| 亚洲亚裔videos黑人hd| 自拍偷拍亚洲在线| 国产精品欧美激情| 国产香蕉精品视频一区二区三区| 热久久美女精品天天吊色| 午夜精品一区二区三区在线| 日韩中文av在线| 狠狠综合久久av一区二区小说| 久久99国产精品自在自在app| 成人国产精品色哟哟| 亚洲精品国产综合久久| 成人做爽爽免费视频| 俺去了亚洲欧美日韩| 亚洲精品日韩在线| 亚洲国产中文字幕久久网| 国内精品视频久久| 精品国内亚洲在观看18黄| 2019中文字幕免费视频| 宅男66日本亚洲欧美视频| 日韩欧美极品在线观看| 在线日韩日本国产亚洲| 在线日韩精品视频| 亚洲视频第一页| 不卡中文字幕av| 亚洲男人天堂2023| 成人欧美在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 久久久视频免费观看| 久久免费视频网站| 久久影视免费观看| www.日韩系列| 欧美大片大片在线播放| 国产亚洲一区精品| 亚洲无亚洲人成网站77777| 欧美视频不卡中文| 色综合老司机第九色激情| 欧美成人精品一区二区三区| 国内揄拍国内精品少妇国语| 一区二区三区高清国产| 久久久久久久久网站| 亚洲丝袜一区在线| 日韩在线视频播放| 国产成人精品免高潮费视频| 成人乱色短篇合集| 久久天天躁日日躁| 97在线观看免费| 国产午夜精品一区理论片飘花| 精品偷拍各种wc美女嘘嘘| 日韩中文有码在线视频| 久久精品国产亚洲精品| 日韩经典一区二区三区| 国产精品日韩欧美大师| 欧美性xxxxxxx| 九九九久久久久久| 亚洲欧美日韩在线高清直播| 国产在线精品成人一区二区三区| 亚洲精品视频二区| 最近免费中文字幕视频2019| 国产成人精品免费视频| 国产精品久久久久久久久久久新郎| 成人情趣片在线观看免费| 国内精品久久久久久| 97精品欧美一区二区三区| 国产91精品最新在线播放| 毛片精品免费在线观看| 久久天天躁狠狠躁夜夜躁2014| 久久人人爽人人爽人人片亚洲| 性亚洲最疯狂xxxx高清| 国产91亚洲精品| 亚洲性生活视频| 秋霞午夜一区二区| 国产精品99久久久久久白浆小说| 日韩欧亚中文在线| 亚洲欧美国产精品va在线观看| 日本欧美在线视频| 91国内精品久久| 91精品久久久久久久久久久| 国内精品久久久久影院 日本资源| 国产精品欧美激情在线播放| 激情亚洲一区二区三区四区| 午夜免费在线观看精品视频| 国产一区私人高清影院| 久久视频在线视频| 日韩国产在线看| 国产精品mp4| 欧美一级片在线播放| 久久久女女女女999久久| 久久国产精品影片| 午夜精品视频网站| 国产精彩精品视频| 久久精品在线播放| 亚洲一区二区日本| 国产欧美欧洲在线观看| 日韩在线观看你懂的| 亚洲综合一区二区不卡| 中文字幕精品一区二区精品| 亚洲国产精品网站| 一本色道久久88综合亚洲精品ⅰ| 成人黄色片网站| 成人精品一区二区三区| 91视频88av| 91精品国产自产91精品| 亚洲第一中文字幕| 午夜精品久久17c| 国产成人精品一区二区| 91在线高清免费观看| 欧美精品一二区| 88国产精品欧美一区二区三区| 成人国内精品久久久久一区| 国产成人精品在线视频| 国产亚洲成av人片在线观看桃|