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

資訊專欄INFORMATION COLUMN

Ubuntu 17.04 x64 安裝 Docker CE 初窺 Dockerfile 部署 Ngi

fyber / 1946人閱讀

摘要:容器運行時,會打印一條信息消息并退出。因此,更好地做法是將需要使用的用戶加入用戶組。涉及到了兩條指令,和。執(zhí)行命令指令是用來執(zhí)行命令行命令的。

Docker 是個劃時代的開源項目,它徹底釋放了計算虛擬化的威力,極大提高了應(yīng)用的運行效率,降低了云計算資源供應(yīng)的成本!使用 Docker,可以讓應(yīng)用的部署、測試和分發(fā)都變得前所未有的高效和輕松!

無論是應(yīng)用開發(fā)者、運維人員、還是其他信息技術(shù)從業(yè)人員,都有必要認(rèn)識和掌握 Docker,節(jié)約有限的時間。

系統(tǒng)要求

要安裝Docker CE,您需要這些Ubuntu版本的64位版本:

Artful 17.10(Docker CE 17.11 Edge及更高版本)

ZESTY 17.04

Xenial 16.04(LTS)

Trusty 14.04(LTS)

Ubuntu x86_64,Linux armhf,s390x(IBM Z)和ppc64le(IBM Power)架構(gòu)上支持Docker CE

卸載舊版本

老版本的Docker被稱為dockerdocker-engine。如果安裝了這些,請將其卸載:

$ apt-get remove docker docker-engine docker.io
使用存儲庫進(jìn)行安裝

首次在新的主機上安裝Docker CE之前,需要設(shè)置Docker存儲庫。之后,您可以從存儲庫安裝和更新Docker。

設(shè)置存儲庫

1.更新apt軟件包索引:

$ apt-get update

2.安裝軟件包以允許apt通過HTTPS使用存儲庫:

$ apt-get install 
    apt-transport-https 
    ca-certificates 
    curl 
    software-properties-common

3.添加Docker的官方GPG密鑰:

鑒于國內(nèi)網(wǎng)絡(luò)問題,強烈建議使用國內(nèi)源,官方源請在注釋中查看。

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.添加 Docker 軟件源

鑒于國內(nèi)網(wǎng)絡(luò)問題,強烈建議使用國內(nèi)源,官方源請在注釋中查看。

然后,我們需要向 source.list 中添加 Docker 軟件源

$ sudo add-apt-repository 
    "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu 
    $(lsb_release -cs) 
    stable"
    

# 官方源
# $ sudo add-apt-repository 
#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
#    $(lsb_release -cs) 
#    stable"

以上命令會添加穩(wěn)定版本的 Docker CE APT 鏡像源,如果需要最新或者測試版本的 Docker CE 請將 stable 改為 edge 或者 test。從 Docker 17.06 開始,edge test 版本的 APT 鏡像源也會包含穩(wěn)定版本的 Docker

安裝Docker CE

1.更新apt軟件包索引。

$ apt-get update

2.安裝最新版本的Docker CE,或者轉(zhuǎn)到下一步安裝特定版本。任何現(xiàn)有的Docker安裝都將被替換。

$ apt-get install docker-ce

3.在生產(chǎn)系統(tǒng)上,您應(yīng)該安裝特定版本的Docker CE,而不是始終使用最新版本。此輸出被截斷。列出可用的版本。

$ apt-cache madison docker-ce

docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages

列表的內(nèi)容取決于啟用了哪個存儲庫。選擇一個特定的版本進(jìn)行安裝。第二列是版本字符串。第三列是存儲庫名稱,它指出了軟件包來自哪個存儲庫,并通過擴展其穩(wěn)定性級別。要安裝特定版本,請將版本字符串附加到包名稱,并用等號(=)將它們分開:

$ sudo apt-get install docker-ce=

4.通過運行hello-world 映像驗證是否正確安裝了Docker CE

$ docker run hello-world

這個命令下載一個測試圖像并在容器中運行。容器運行時,會打印一條信息消息并退出。

Unable to find image "hello-world:latest" locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:445b2fe9afea8b4aa0b2f27fe49dd6ad130dfe7a8fd0832be5de99625dad47cd
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
以非root用戶身份管理Docker

默認(rèn)情況下,docker 命令會使用 Unix socketDocker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出于安全考慮,一般 Linux 系統(tǒng)上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。

要創(chuàng)建docker組并添加您的用戶:

1.創(chuàng)建docker組。

$ sudo groupadd docker

2.將您的用戶添加到docker組中。

$ sudo usermod -aG docker $USER

3.注銷并重新登錄,如果在虛擬機上進(jìn)行測試,則可能需要重新啟動虛擬機才能使更改生效。

4.驗證您可以不運行docker命令sudo

$ docker run hello-world
卸載Docker CE

1.卸載Docker CE軟件包:

$ sudo apt-get purge docker-ce

2.主機上的圖像,容器,卷或自定義配置文件不會自動刪除。刪除所有圖像,容器和卷:

$ sudo rm -rf /var/lib/docker
利用 commit 理解鏡像構(gòu)成

這條命令會用nginx 鏡像啟動一個容器,命名為 myweb,并且映射了 80 端口,這樣我們可以用瀏覽器去訪問這個 nginx 服務(wù)器。

$ docker run --name myweb -d -p 80:80 nginx

直接訪問:http://localhost;如果使用的是 Docker Toolbox,或者是在虛擬機、云服務(wù)器上安裝的 Docker,則需要將 localhost 換為虛擬機地址或者實際云服務(wù)器地址。

現(xiàn)在,假設(shè)我們非常不喜歡這個歡迎頁面,我們希望改成歡迎 Docker 的文字,我們可以使用 docker exec 命令進(jìn)入容器,修改其內(nèi)容。

$ docker exec -it myweb bash
root@5ceb0c8274ca:/# echo "

Welcome to Docker!

" > /usr/share/nginx/html/index.html root@5ceb0c8274ca:/# exit exit

直接訪問:http://localhost;

我們修改了容器的文件,也就是改動了容器的存儲層。我們可以通過 docker diff 命令看到具體的改動。COMMENT列有備注!

$  docker diff myweb
C /root
A /root/.bash_history
C /run
A /run/nginx.pid
C /usr/share/nginx/html/index.html
C /var/cache/nginx
D /var/cache/nginx/client_temp
D /var/cache/nginx/fastcgi_temp
D /var/cache/nginx/proxy_temp
D /var/cache/nginx/scgi_temp
D /var/cache/nginx/uwsgi_temp
root@souyunku:~/mydocker#

我們可以用下面的命令將容器保存為鏡像:

$ docker commit 
    --author "penglei " 
    --message "修改了默認(rèn)網(wǎng)頁" 
    myweb 
    nginx:v2
    
sha256:33b2e2aefccbaba54021c85ef7966c7d488abaa0677728e1b057c56a7734a4f0

其中 --author 是指定修改的作者,而 --message 則是記錄本次修改的內(nèi)容。這點和 git 版本控制相似,不過這里這些信息可以省略留空。

我們可以在 docker image ls 中看到這個新定制的鏡像:

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
nginx               v2                  33b2e2aefccb        About a minute ago   108MB
nginx               latest              3f8a4339aadd        3 days ago           108MB
hello-world         latest              f2a91732366c        5 weeks ago          1.85kB
$ docker history nginx:v2
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
33b2e2aefccb        2 minutes ago       nginx -g daemon off;                            325B                修改了默認(rèn)網(wǎng)頁
3f8a4339aadd        3 days ago          /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B                  
           3 days ago          /bin/sh -c #(nop)  STOPSIGNAL [SIGTERM]         0B                  
           3 days ago          /bin/sh -c #(nop)  EXPOSE 80/tcp                0B                  
           3 days ago          /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B                 
           3 days ago          /bin/sh -c set -x  && apt-get update  && apt…   53.2MB              
           3 days ago          /bin/sh -c #(nop)  ENV NJS_VERSION=1.13.8.0.…   0B                  
           3 days ago          /bin/sh -c #(nop)  ENV NGINX_VERSION=1.13.8-…   0B                  
           2 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B                  
           2 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B                  
           2 weeks ago         /bin/sh -c #(nop) ADD file:f30a8b5b7cdc9ba33…   55.3MB 

新的鏡像定制好后,我們可以來運行這個鏡像。

$ docker run --name web2 -d -p 81:80 nginx:v2
ed8c54aeb3c540981b892c0cdfbf9330114ecc935149190e073f49295f2ae147

直接訪問:http://localhost:81;如果使用的是 Docker Toolbox,或者是在虛擬機、云服務(wù)器上安裝的 Docker,則需要將 localhost 換為虛擬機地址或者實際云服務(wù)器地址。

使用 Dockerfile 定制鏡像

從剛才的 docker commit 的學(xué)習(xí)中,我們可以了解到,鏡像的定制實際上就是定制每一層所添加的配置、文件。如果我們可以把每一層修改、安裝、構(gòu)建、操作的命令都寫入一個腳本,用這個腳本來構(gòu)建、定制鏡像,那么之前提及的無法重復(fù)的問題、鏡像構(gòu)建透明性的問題、體積的問題就都會解決。這個腳本就是 Dockerfile。

Dockerfile 是一個文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建。

還以之前定制 nginx 鏡像為例,這次我們使用 Dockerfile 來定制。

在一個空白目錄中,建立一個文本文件,并命名為 Dockerfile

$ mkdir mynginx
$ cd mynginx
$ touch Dockerfile

其內(nèi)容為:

FROM nginx
RUN echo "

Hello, Docker!

" > /usr/share/nginx/html/index.html

這個 Dockerfile 很簡單,一共就兩行。涉及到了兩條指令,FROMRUN。

FROM 指定基礎(chǔ)鏡像

所謂定制鏡像,那一定是以一個鏡像為基礎(chǔ),在其上進(jìn)行定制。就像我們之前運行了一個 nginx 鏡像的容器,再進(jìn)行修改一樣,基礎(chǔ)鏡像是必須指定的。而 FROM 就是指定基礎(chǔ)鏡像,因此一個 DockerfileFROM 是必備的指令,并且必須是第一條指令。

Docker Store 上有非常多的高質(zhì)量的官方鏡像,有可以直接拿來使用的服務(wù)類的鏡像,如 nginxredis、mongo、mysqlhttpd、phptomcat 等;也有一些方便開發(fā)、構(gòu)建、運行各種語言應(yīng)用的鏡像,如 node、openjdkpythonruby、golang 等??梢栽谄渲袑ふ乙粋€最符合我們最終目標(biāo)的鏡像為基礎(chǔ)鏡像進(jìn)行定制。

如果沒有找到對應(yīng)服務(wù)的鏡像,官方鏡像中還提供了一些更為基礎(chǔ)的操作系統(tǒng)鏡像,如 ubuntudebian、centos、fedora、alpine 等,這些操作系統(tǒng)的軟件庫為我們提供了更廣闊的擴展空間。

除了選擇現(xiàn)有鏡像為基礎(chǔ)鏡像外,Docker 還存在一個特殊的鏡像,名為 scratch。這個鏡像是虛擬的概念,并不實際存在,它表示一個空白的鏡像。

FROM scratch
...

如果你以 scratch 為基礎(chǔ)鏡像的話,意味著你不以任何鏡像為基礎(chǔ),接下來所寫的指令將作為鏡像第一層開始存在。

不以任何系統(tǒng)為基礎(chǔ),直接將可執(zhí)行文件復(fù)制進(jìn)鏡像的做法并不罕見,比如 swarm、coreos/etcd。對于 Linux 下靜態(tài)編譯的程序來說,并不需要有操作系統(tǒng)提供運行時支持,所需的一切庫都已經(jīng)在可執(zhí)行文件里了,因此直接 FROM scratch 會讓鏡像體積更加小巧。使用 Go 語言 開發(fā)的應(yīng)用很多會使用這種方式來制作鏡像,這也是為什么有人認(rèn)為 Go 是特別適合容器微服務(wù)架構(gòu)的語言的原因之一。

RUN 執(zhí)行命令

RUN 指令是用來執(zhí)行命令行命令的。由于命令行的強大能力,RUN 指令在定制鏡像時是最常用的指令之一。其格式有兩種:

shell 格式:RUN <命令>,就像直接在命令行中輸入的命令一樣。剛才寫的 Dockerfile 中的 RUN 指令就是這種格式。

RUN echo "

Hello, Docker!

" > /usr/share/nginx/html/index.html

exec 格式:RUN ["可執(zhí)行文件", "參數(shù)1", "參數(shù)2"],這更像是函數(shù)調(diào)用中的格式。

既然 RUN 就像 Shell 腳本一樣可以執(zhí)行命令,那么我們是否就可以像 Shell 腳本一樣把每個命令對應(yīng)一個 RUN 呢?比如這樣:

FROM debian:jessie

RUN apt-get update
RUN apt-get install -y gcc libc6-dev make
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz"
RUN mkdir -p /usr/src/redis
RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1
RUN make -C /usr/src/redis
RUN make -C /usr/src/redis install

之前說過,Dockerfile 中每一個指令都會建立一層,RUN 也不例外。每一個 RUN 的行為,就和剛才我們手工建立鏡像的過程一樣:新建立一層,在其上執(zhí)行這些命令,執(zhí)行結(jié)束后,commit 這一層的修改,構(gòu)成新的鏡像。

而上面的這種寫法,創(chuàng)建了 7 層鏡像。這是完全沒有意義的,而且很多運行時不需要的東西,都被裝進(jìn)了鏡像里,比如編譯環(huán)境、更新的軟件包等等。結(jié)果就是產(chǎn)生非常臃腫、非常多層的鏡像,不僅僅增加了構(gòu)建部署的時間,也很容易出錯。 這是很多初學(xué) Docker 的人常犯的一個錯誤。

Union FS 是有最大層數(shù)限制的,比如 AUFS,曾經(jīng)是最大不得超過 42 層,現(xiàn)在是不得超過 127 層。

上面的 Dockerfile 正確的寫法應(yīng)該是這樣:

FROM debian:jessie

RUN buildDeps="gcc libc6-dev make" 
    && apt-get update 
    && apt-get install -y $buildDeps 
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" 
    && mkdir -p /usr/src/redis 
    && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 
    && make -C /usr/src/redis 
    && make -C /usr/src/redis install 
    && rm -rf /var/lib/apt/lists/* 
    && rm redis.tar.gz 
    && rm -r /usr/src/redis 
    && apt-get purge -y --auto-remove $buildDeps

首先,之前所有的命令只有一個目的,就是編譯、安裝 redis 可執(zhí)行文件。因此沒有必要建立很多層,這只是一層的事情。因此,這里沒有使用很多個 RUN 對一一對應(yīng)不同的命令,而是僅僅使用一個 RUN 指令,并使用 && 將各個所需命令串聯(lián)起來。將之前的 7 層,簡化為了 1 層。在撰寫 Dockerfile 的時候,要經(jīng)常提醒自己,這并不是在寫 Shell 腳本,而是在定義每一層該如何構(gòu)建。

并且,這里為了格式化還進(jìn)行了換行。Dockerfile 支持 Shell 類的行尾添加 的命令換行方式,以及行首 # 進(jìn)行注釋的格式。良好的格式,比如換行、縮進(jìn)、注釋等,會讓維護(hù)、排障更為容易,這是一個比較好的習(xí)慣。

此外,還可以看到這一組命令的最后添加了清理工作的命令,刪除了為了編譯構(gòu)建所需要的軟件,清理了所有下載、展開的文件,并且還清理了 apt 緩存文件。這是很重要的一步,我們之前說過,鏡像是多層存儲,每一層的東西并不會在下一層被刪除,會一直跟隨著鏡像。因此鏡像構(gòu)建時,一定要確保每一層只添加真正需要添加的東西,任何無關(guān)的東西都應(yīng)該清理掉。

很多人初學(xué) Docker 制作出了很臃腫的鏡像的原因之一,就是忘記了每一層構(gòu)建的最后一定要清理掉無關(guān)文件。

構(gòu)建鏡像

好了,讓我們再回到之前定制的 nginx 鏡像的 Dockerfile 來。現(xiàn)在我們明白了這個 Dockerfile 的內(nèi)容,那么讓我們來構(gòu)建這個鏡像吧。

Dockerfile 文件所在目錄執(zhí)行:

$ docker build -t nginx:v3 .

Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM nginx
 ---> 3f8a4339aadd
Step 2/2 : RUN echo "

Hello, Docker!

" > /usr/share/nginx/html/index.html ---> Running in 5cdac6d29a52 Removing intermediate container 5cdac6d29a52 ---> 56a1b67b2533 Successfully built 56a1b67b2533 Successfully tagged nginx:v3

從命令的輸出結(jié)果中,我們可以清晰的看到鏡像的構(gòu)建過程。在 Step 2 中,如同我們之前所說的那樣,RUN 指令啟動了一個容器 5cdac6d29a52,執(zhí)行了所要求的命令,并最后提交了這一層 56a1b67b2533,隨后刪除了所用到的這個容器 5cdac6d29a52

這里我們使用了 docker build 命令進(jìn)行鏡像構(gòu)建。其格式為:

$ docker build [選項] <上下文路徑/URL/->

鏡像構(gòu)建上下文(Context)如果注意,會看到 docker build 命令最后有一個 .。. 表示當(dāng)前目錄

其它 docker build 的用法 直接用 Git repo 進(jìn)行構(gòu)建

或許你已經(jīng)注意到了,docker build 還支持從 URL 構(gòu)建,比如可以直接從 Git repo 中構(gòu)建:

感謝:漠然提供 Git dockerfile repo

$ docker build https://github.com/mritd/dockerfile.git#:alpine-glibc
...

Executing ca-certificates-20171114-r0.post-deinstall
Executing busybox-1.27.2-r6.trigger
OK: 11 MiB in 14 packages
Removing intermediate container baf41e622959
 ---> aded3329be1b
Step 3/3 : ENV LANG=C.UTF-8
 ---> Running in 8c34e0f4d25b
Removing intermediate container 8c34e0f4d25b
 ---> c493a5aa5eb7
Successfully built c493a5aa5eb7

這行命令指定了構(gòu)建所需的 Git repo,并且指定默認(rèn)的 master 分支,構(gòu)建目錄為 /alpine-glibc/,然后 Docker 就會自己去 git clone 這個項目、切換到指定分支、并進(jìn)入到指定目錄后開始構(gòu)建。

用給定的 tar 壓縮包構(gòu)建
$ docker build http://server/context.tar.gz

如果所給出的 URL 不是個 Git repo,而是個 tar 壓縮包,那么 Docker 引擎會下載這個包,并自動解壓縮,以其作為上下文,開始構(gòu)建。

從標(biāo)準(zhǔn)輸入中讀取 Dockerfile 進(jìn)行構(gòu)建
$ docker build - < Dockerfile

$ cat Dockerfile | docker build -

如果標(biāo)準(zhǔn)輸入傳入的是文本文件,則將其視為 Dockerfile,并開始構(gòu)建。這種形式由于直接從標(biāo)準(zhǔn)輸入中讀取 Dockerfile 的內(nèi)容,它沒有上下文,因此不可以像其他方法那樣可以將本地文件 COPY 進(jìn)鏡像之類的事情。

從標(biāo)準(zhǔn)輸入中讀取上下文壓縮包進(jìn)行構(gòu)建
$ docker build - < context.tar.gz

如果發(fā)現(xiàn)標(biāo)準(zhǔn)輸入的文件格式是 gzip、bzip2 以及 xz 的話,將會使其為上下文壓縮包,直接將其展開,將里面視為上下文,并開始構(gòu)建。

參考:Docker — 從入門到實踐

https://www.gitbook.com/download/pdf/book/yeasy/docker_practice

參考:Docker 官網(wǎng) Get Docker CE for Ubuntu

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script

Contact

作者:鵬磊

出處:http://www.ymq.io

Email:[email protected]

版權(quán)歸作者所有,轉(zhuǎn)載請注明出處

Wechat:關(guān)注公眾號,搜云庫,專注于開發(fā)技術(shù)的研究與知識分享

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39732.html

相關(guān)文章

  • Ubuntu 17.04 x64 安裝 Docker CE 初窺 Dockerfile 部署 Ngi

    摘要:容器運行時,會打印一條信息消息并退出。因此,更好地做法是將需要使用的用戶加入用戶組。涉及到了兩條指令,和。執(zhí)行命令指令是用來執(zhí)行命令行命令的。 Docker 是個劃時代的開源項目,它徹底釋放了計算虛擬化的威力,極大提高了應(yīng)用的運行效率,降低了云計算資源供應(yīng)的成本!使用 Docker,可以讓應(yīng)用的部署、測試和分發(fā)都變得前所未有的高效和輕松! 無論是應(yīng)用開發(fā)者、運維人員、還是其他信息技術(shù)從...

    seanHai 評論0 收藏0
  • Docker Registry Server 搭建,配置免費HTTPS證書,及擁有權(quán)限認(rèn)證、TLS

    摘要:上一篇文章搭建了一個具有基礎(chǔ)功能的私有倉庫,這次來搭建一個擁有權(quán)限認(rèn)證的私有倉庫。移動證書到目錄。身份驗證為用戶創(chuàng)建一個帶有一個條目的密碼文件,密碼為創(chuàng)建倉庫啟動注冊表,指示它使用證書。注冊表在端口默認(rèn)的端口上運行。 上一篇文章搭建了一個具有基礎(chǔ)功能的私有倉庫,這次來搭建一個擁有權(quán)限認(rèn)證、TLS 的私有倉庫。 環(huán)境準(zhǔn)備 系統(tǒng):Ubuntu 17.04 x64 IP:198.13.48...

    liuchengxu 評論0 收藏0
  • 可能是最詳細(xì)的部署:Docker Registry企業(yè)級私有鏡像倉庫Harbor管理WEB UI

    摘要:私有倉庫是,并在中運行。不要使用或為主機名注冊表服務(wù)需要由外部客戶端訪問或,默認(rèn)為用于訪問和令牌通知服務(wù)的協(xié)議。打開或關(guān)閉,默認(rèn)打開打開此屬性時,準(zhǔn)備腳本創(chuàng)建私鑰和根證書,用于生成驗證注冊表令牌。 上一篇文章搭建了一個具有基礎(chǔ)功能,權(quán)限認(rèn)證、TLS 的私有倉庫,但是Docker Registry 作為鏡像倉庫,連管理界面都沒有,甚至連一些運維必備的功能都是缺失的,還有什么 Docker...

    沈儉 評論0 收藏0
  • Docker 部署 SpringBoot 項目整合 Redis 鏡像做訪問計數(shù)Demo

    摘要:一個使用容器的應(yīng)用,通常由多個容器組成。使用,不再需要使用腳本來啟動容器。 Docker 部署SpringBoot項目整合 Redis 鏡像做訪問計數(shù)Demo 最終效果如下 showImg(https://segmentfault.com/img/remote/1460000012799923?w=841&h=433); 大概就幾個步驟 1.安裝 Docker CE 2.運行 Red...

    isLishude 評論0 收藏0
  • 使用Maven插件構(gòu)建SpringBoot項目,生成Docker鏡像push到DockerHub上

    摘要:一個用于構(gòu)建和推送鏡像的插件。這樣即可使用進(jìn)行構(gòu)建鏡像啦。構(gòu)建鏡像使用命令啟動鏡像訪問服務(wù)瀏覽器輸入宿主機能夠正常看到界面文章開頭的最終效果頁面。 一個用于構(gòu)建和推送Docker鏡像的Maven插件。 使用Maven插件構(gòu)建Docker鏡像,將Docker鏡像push到DockerHub上,或者私有倉庫,上一篇文章是手寫Dockerfile,這篇文章借助開源插件docker-maven...

    Drummor 評論0 收藏0

發(fā)表評論

0條評論

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