成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker 創(chuàng)建私有倉庫

Kylin_Mountain / 2141人閱讀

摘要:清除所有處于終止狀態(tài)的容器訪問倉庫倉庫是集中存放鏡像的地方。倉庫可以看成是一個具體的項目或目錄。是注冊服務器地址,是倉庫名。生成認證文件編輯修改編輯啟動測試私有倉庫功能登錄到私有倉庫嘗試推送拉取鏡像端口若被占用請嘗試用代理

docker save load 與 docker export import

利用ssh pv Linux管道 實現(xiàn)鏡像遷移(帶進度條)

docker save <鏡像名> | bzip2 | pv | ssh <用戶名>@<主機名> "cat |docker load"

docker load 與 docker import區(qū)別

容器快照文件將丟失所有的歷史數(shù)據(jù)和元數(shù)據(jù)信息(僅保存容器當時的快照狀態(tài))
從容器快照文件導入時可以重新指定標簽等元數(shù)據(jù)信息。
鏡像存儲文件則將保存完整記錄, 體積也要更大。
清除所有處于終止狀態(tài)的容器
docker container prune
訪問倉庫

倉庫(Repository)是集中存放鏡像的地方。

一個容易混淆的概念是注冊服務器(Registry)。

Registry是管理倉庫的具體服務器,每個Registry可以有多個Repository,每個Repository下面多個image。

倉庫可以看成是一個具體的項目或目錄。

d1.dockerpool.com/ubuntu, d1.dockerpool.com是注冊服務器地址,ubuntu是倉庫名。

Docker Hub

需要先注冊一個Docker賬號

命令行登陸 退出

docker login
docker logout

查找 拉取鏡像

docker search
docker pull

推送鏡像

用戶在登陸后 docker push 將自己的鏡像推送到Docker Hub

自動創(chuàng)建

創(chuàng)建并登陸Docker Hub 以及目標網(wǎng)站

在目標網(wǎng)站中連接賬戶到Docker Hub

在Docker Hub中配置一個自動創(chuàng)建

選取一個目標網(wǎng)站中的項目(需要包含Dockerfile)和分支

指定Dockerfile位置, 并提交創(chuàng)建

私有倉庫

容器運行

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

在私有倉庫上傳、搜索、下載鏡像

docker tag 標記一個鏡像,并推送到倉庫。比如私有倉庫地址為127.0.0.1:5000

格式: docker tag IMAGE[:TAG] [REGISTRY_HOST][:REGISTRY_PORT/]REPOSITORY[:TAG]
docker tag docker.io/mysql:5 127.0.0.1:5000/docker.io/mysql:5

docker push 上傳標記的鏡像

docker push 127.0.0.1:5000/docker.io/mysql

curl 查看倉庫中的鏡像

curl 127.0.0.1:5000/v2/_catalog

從私有倉庫下載

需要先刪除已有鏡像
docker  image rm 127.0.0.1:5000/docker.io/mysql:5
docker pull 127.0.0.1:5000/docker.io/mysql:5

注意事項

Docker默認不允許非HTTPS方式推送鏡像,可以通過docker配置選項取消這個限制

對于upstar系統(tǒng)(Ubuntu 14.04 Debian7 Wheezy)

編輯/etc/default/docker,在其中的DOCKER_OPTS增加內(nèi)容
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com --insecure-registries=10.9.2.100:5000"

sudo service docker restart

對于systemd系統(tǒng)(Ubuntu16.04+ Debian8+ centos7)

編輯/etc/docker/daemon.json (不存在則新建)

{
    "registry-mirror": [
    "https://registry.docker-cn.com"
    ],
    "insecure-registries": [
    "122.112.207.157:5000"
    ]
}

systemctl restart docker

私有倉庫高級配置
使用Docker Compose構建,搭建一個擁有權限認證、TLS的私有倉庫

使用openssl自行簽發(fā)docker.domain.com的站點的SSL證書

step1 創(chuàng)建 CA 密鑰

openssl genrsa -out "root-ca.key" 4096

step2 利用私鑰創(chuàng)建 CA 根證書請求文件

openssl req 
-new -key "root-ca.key" 
-out "root-ca.csr" -sha256 
-subj "/C=CN/ST=Zhejiang/L=Hangzhou/O=eichong/CN=eichong Docker Registry CA"
-subj參數(shù)
/C 表示國家 如CN
/ST 表示省
/L 表示城市或地區(qū)
/O 表示組織名
/CN 通用名稱

step3 配置 CA 根證書,新建root-ca.cnf

[root_ca]
basicConstraints = critical, CA:TRUE, pathlen:1
keyUsage = critical, nonRepudiation, cRLSign, keyCertSign
subjectKeyIdentifier=hash

step4 簽發(fā)根證書

openssl x509 -req -days 3650 -in "root-ca.csr" 
-signkey "root-ca.key" -sha256 -out "root-ca.crt" 
-extfile "root-ca.cnf" -extensions 
root_ca

step5 生成站點 SSL 私鑰

openssl genrsa -out "docker.domain.com.key" 4096

step6 使用私鑰生成證書請求文件

openssl req -new -key "docker.domain.com.key" -out "site.csr" -sha256 
-subj "/C=CN/ST=Zhejiang/L=Hangzhou/O=eichong/CN=docker.domain.com"

step7 配置證書,新建 site.cnf 文件

[server]
authorityKeyIdentifier=keyid, issuer
basicConstraints = critical, CA:FALSE
extendedKeyUsage=serverAuth
keyUsage = critical, digitalSignature, keyEncipherment
subjectAltName = DNS:docker.domain.com, IP:127.0.0.1
subjectKeyIdentifier=hash

step8 簽署站點 SSL 證書

openssl x509 -req -days 750 -in "site.csr" -sha256 
-CA "root-ca.crt" -CAkey "root-ca.key" -CAcreateserial 
-out "docker.domain.com.crt" -extfile "site.cnf" -extensions server
經(jīng)過以上步驟,就擁有了docker.domain.com的網(wǎng)站SSL私鑰 docker.domain.com.key 和 SSL證書 docker.domain.com.crt
新建ssl文件夾將 docker.domain.com.key docker.domain.com.crt 移入,其他刪除

配置私有倉庫

 私有倉庫默認的配置文件位于 /etc/docker/registry/config.yml ,我們先在本地編輯
 config.yml ,之后掛載到容器中。

version: 0.1
log:
    accesslog:
        disabled: true
    level: debug
    formatter: text
    fields:
        service: registry
        environment: staging
storage:
    delete:
        enabled: true
    cache:
        blobdescriptor: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
auth:
    htpasswd:
        realm: basic-realm
        path: /etc/docker/registry/auth/nginx.htpasswd
http:
    addr: :443
    host: https://docker.domain.com
    headers:
        X-Content-Type-Options: [nosniff]
    http2:
        disabled: false
    tls:
        certificate: /etc/docker/registry/ssl/docker.domain.com.crt
        key: /etc/docker/registry/ssl/docker.domain.com.key
health:
    storagedriver:
        enabled: true
        interval: 10s
threshold: 3

生成 http 認證文件

 mkdir auth

 docker run --rm 
 --entrypoint htpasswd registry 
 -Bbn username password > auth/nginx.htpasswd

編輯 docker-compose.yml

version: "3"

services:
    registry:
        image: registry
        ports:
            - "443:443"
        volumes:
            - ./:/etc/docker/registry
            - registry-data:/var/lib/registry
volumes:
    registry-data:

修改 hosts

編輯 /etc/hosts

docker.domain.com 127.0.0.1

啟動

docker-compose up -d

測試私有倉庫功能

登錄到私有倉庫

docker login docker.domain.com

嘗試推送、拉取鏡像

docker pull ubuntu:17.10
docker tag ubuntu:17.10 docker.domain.com/username/ubuntu:17.10
docker push docker.domain.com/username/ubuntu:17.10
docker image rm docker.domain.com/username/ubuntu:17.10
docker pull docker.domain.com/username/ubuntu:17.10

443端口若被占用,請嘗試用Nginx代理

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/27423.html

相關文章

  • Docker零基礎入門指南(五):Docker倉庫使用

    摘要:原文地址零基礎入門指南五倉庫是集中存放鏡像的地方。最常使用的公開服務是官方的,這也是默認的,并擁有大量的高質量的官方鏡像。登錄可以通過執(zhí)行命令交互式的輸入用戶名及密碼來完成在命令行界面登錄。使用將這個鏡像標記為。 原文地址:Docker零基礎入門指南(五) 倉庫( Repository )是集中存放鏡像的地方。一個容易混淆的概念是注冊服務器( Registry )。實際上注冊服務器是管...

    silenceboy 評論0 收藏0
  • Nexus3私有倉庫搭建 docker+maven+npm

    摘要:安裝號稱是世界上最流行的私服管理軟件可以搭建幾乎目前所有常見的倉庫如等更是增加了對倉庫的支持應該是搭建私服的唯一選擇有兩個版本和其中版本是免費專業(yè)版需要收費對于日常的倉庫管理已經(jīng)足夠用支持二進制文件安裝和安裝這里選擇安裝簡單方便運行以下命令 安裝 Nexus號稱是世界上最流行的私服管理軟件(The worlds most popular repository),可以搭建幾乎目前所有常見...

    bang590 評論0 收藏0
  • 使用nexus3.x配置docker鏡像倉庫倉庫代理

    摘要:正好我們在使用作為的倉庫,同時提供了等諸多類型的倉庫功能。值得一提的是,我們可以使用這個倉庫從和下載鏡像,但是我們不能通過這個倉庫推送鏡像到遠程倉庫。 背景 我們一直使用 harbor 作為docker的鏡像倉庫,但Harbor只能作為私有倉庫,當需要Docker Hub 或 Google Cloud Containers 上的鏡像時,我們只能自己手動pull,重新打tag,再push...

    HollisChuang 評論0 收藏0
  • npm私有倉庫 配置verdaccio在docker環(huán)境

    摘要:前端開發(fā)過程中,少不了自己封裝一些通用的包,但又不想放在公共的平臺,所以搭建一個私有的倉庫是很有必要的。在這里簡單介紹如何使用在環(huán)境下的配置。輕量級私有代理注冊表。加上,那就真的無敵方便了,搭建一個私有倉庫輕輕松松幾分鐘搞定。前端開發(fā)過程中,少不了自己封裝一些通用的包,但又不想放在公共的平臺,所以搭建一個npm私有的倉庫是很有必要的。 在這里簡單介紹如何使用 verdoccio 在docke...

    vboy1010 評論0 收藏0
  • 使用 docker + verdaccio 搭建npm私有倉庫

    摘要:本文介紹如何使用搭建私有倉庫,以及使用時如何映射到本地目錄,方便簡單對倉庫進行各種操作。其次,創(chuàng)建目錄,并添加的配置文件。當需要把某個項目發(fā)布到私有庫時,直接。使用包名,即可安裝私有包了。本文介紹如何使用 verdaccio 搭建私有npm倉庫,以及使用 docker 時如何映射到本地目錄,方便簡單對倉庫進行各種操作。系統(tǒng)環(huán)境是 Linux。 verdaccio verdacci...

    fantix 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<