導航:首頁 > 配伺服器 > 阿里雲伺服器怎麼部署docker

阿里雲伺服器怎麼部署docker

發布時間:2022-11-15 20:50:09

A. 一文教您如何通過 Docker 快速搭建各種測試環境

目錄

一、鏡像加速

Docker 默認是從官方鏡像地址 Docker Hub 下下載鏡像,由於伺服器在國外的緣故,導致經常下載速度非常慢。為了提升鏡像的下載速度,我們可以手動配置國內鏡像加速器,讓下載速度飈起來。

國內的鏡像加速器選項較多,如:阿里雲,DaoCloud 等。

本文主要說說如何配置阿里雲的鏡像加速器。

2.1 登錄阿里雲獲取加速信息

https://dev.aliyun.com/

2.2 配置 Docker

2.2.1 確定 Docker Client 版本

在配置之前,首先需要 確定 Docker Client 的版本,推薦是 1.10.0+ :

2.2.2 配置鏡像加速器

PS: 這里以 CentOS 系統為例,如果你是別的系統,可以參考阿里雲配置加速器官方文檔。

通過修改 daemon 配置文件 /etc/docker/daemon.json 來使用加速器:

執行下面命令

2.3 驗證一下速度

以下載 mongodb 為例,看下速度:

配置了加速器過後,速度終於飈起來了。

二、快速安裝&搭建 Mysql 環境

本節中,我們將學習如何通過 Docker 快速安裝與搭建 Mysql 環境。

2.1 下載 Mysql 鏡像

這里以 Mysql 5.7 為例:

下載完成後,通過 docker images 檢查一下鏡像是否下載成功:

2.2 先以最簡單方式啟動

先以簡單的方式啟動:

命令執行完成後,你也可以通過 docker ps 命令來確認下容器是否啟動成功。若成功,我們需要將容器中的目錄文件復制到宿主機中,分別包括:

完成這一切後,讓我們將剛剛運行的容器刪除掉。

PS: mysql 是我們運行容器時,指定的名稱,當然,你也可以先執行 docker ps , 通過容器 ID 來刪除。

2.3 正式運行 Mysql 容器

接下來,正式運行 Mysql 容器:

其他不變,額外添加了兩個掛載子命令:

執行命令完成後,查看下容器是否啟動:

可以看到,容器運行成功

2.4 通過 Mysql 客戶端連接一下試試

通過 MySQL 客戶端連接剛剛創建的 mysql, 看看能否連接成功:

連接成功了!

三、快速安裝&搭建 Redis 環境

本節中,我們將學習如何利用 Docker 安裝&搭建 Redis 環境。

3.1 下載 Redis 鏡像

首先拉取 Redis 鏡像, 這里我選擇的是 redis:alpine 輕量級鏡像版本:

下載完成後,通過 docker images 確認鏡像是否已經下載到本地:

3.2 運行 Redis 容器

命令說明:

命令運行完成後,查看容器是否啟動成功:

可以看到 redis 容器已經啟動成功了!

3.3 連接剛剛創建好的容器

執行如下命令,連接 redis:

四、快速安裝&搭建 MongDB 環境

本節中,我們將學習如何通過 Docker 快速安裝與搭建 MongoDB 環境。

4.1 下載 MongoDB 鏡像

這里以 mongo 4 版本為例,下載鏡像:

下載完成後,確認一下鏡像是否下載成功:

4.2 運行 MongoDB 鏡像

下載成功後,運行 mongoDB 鏡像:

執行命令完成後,查看下容器是否啟動:

4.3 添加管理員賬號

執行命令:

然後,創建一個擁有最高許可權 root 賬號:

創建成功後,你會看到 Successfully added user :

4.4 用新創建的 root 賬戶連接,測試一下

連接成功後,我們可以執行相關 sql:

顯示所有的資料庫:

使用某個資料庫:

輸入命令 exit ,退出連接!

五、快速安裝&搭建 Elasticsearch 環境

本節中,我們將學習如何通過 Docker 快速安裝與搭建 Elasticsearch 環境。

5.1 下載 Elasticsearch 鏡像

這里以 Elasticsearch 6.5.0 為快速安裝&搭建 Elasticsearch 環境例:

下載完成後,通過 docker images 檢查一下鏡像是否下載成功:

5.2 先簡單運行 Elasticsearch 鏡像

下載成功後,簡單運行 Elasticsearch 鏡像:

命令執行完成後,你也可以通過 docker ps 命令來確認下容器是否啟動成功。

可以看到 es 容器運行成功了,接下來,進入容器中:

安裝 analysis-ik 中文分詞插件:

PS: es 從 v5.5.1 版本開始支持自帶的 es 插件命令來安裝,如果你安裝的版本不是 6.5.0,需要將命令中的版本號修改一下,具體參考 https://github.com/medcl/elasticsearch-analysis-ik

安裝成功後,退出容器:

刪除剛剛運行的容器:

PS: 當然了,你也可以通過容器的 ID 來刪除。

5.3 復制相關文件

5.4 修改 es 相關配置

進入我們剛剛指定的 config 配置目錄,修改 jvm.options 文件:

PS: 因為小哈測試伺服器就 2G 內存,這里我改成了 JVM 內存佔用 300m, 如果你的內存夠用,可不用改。

修改 elasticsearch.yml 文件, 添加如下配置:

解釋一下添加的配置,設置節點為 master 節點,並允許跨域訪問,以便後面使用 head 插件圖形化界面訪問。

5.5 運行 Elasticsearch 容器

這次,我們額外添加了相關掛載命令:

5.6 測試一下,瞅瞅 es 是否能夠正常訪問

測試一下,看 es 是否啟動成功:

OK, 到此 es 的單節點環境就搭建好了!

歡迎工作一到五年的Java工程師朋友們加入Java程序員開發: 721575865

群內提供免費的Java架構學習資料(裡面有高可用、高並發、高性能及分布式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間「來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

B. 如何使用 Docker 部署容器

設想,為了推出一個網站,您不必從裸機安裝一個完整的伺服器。 而不是安裝操作系統,然後安裝伺服器軟體,然後部署精心設計的應用程序或站點,您可以簡單地在一個獨立的包中開發所有內容,並使用單個命令將其推出。

這是使用容器的眾多好處之一。它們使開發和部署周期變得異常高效。但是你如何部署這些容器?我想在這里指導你完成這個過程。我們將專注於在Ubuntu Server 18.04上部署基本的NGINX Web伺服器作為容器。所有這一切都將在Docker的幫助下完成。

為了成功將NGINX部署為容器,您需要具備以下條件:

- 一個安裝了Docker的Ubuntu Server 18.04的運行實例。

- 一個docker 用戶組的成員用戶

是的,有了這兩部分,你就准備好了。

您部署的每個容器都將基於從DockerHub中提取的鏡像。 您可以下拉單個鏡像並根據需要隨時使用。 DockerHub上還有許多鏡像用於單個應用程序或平台。 以NGINX為例。 如果你在DockerHub上搜索NGINX,你會得到大約56,172個條目。 這並不意味著每個條目都是您可以使用的可用圖像。

圖像命名如下:

例如,對於NGINX,您可能會找到一個名字為的鏡像:

或許你可能找到:

您也看到了,有幾乎所有需要的鏡像。

在使用圖像之前,必須將其保存在本地驅動器上。 有兩種方法可以做到這一點:

- 直接使用pull命令

- 間接地,在容器部署過程中。

要從DockerHub中拉取圖像,您將打開一個終端窗口並發出命令:

如果你想拉取Ingress圖像,該命令是:

當你拉取你需要的圖像之後,你可以使用命令確認是否存在:

上面的命令將列出你拉取的所有鏡像(圖A)。

拉取隨意圖像時要謹慎。 為什麼? 因為你永遠不知道創造它們的原因。 容器可能包含惡意代碼,可能會對您的網路或數據造成嚴重破壞。 因此,最好只使用官方圖像(例如NGINX圖像)。

現在該部署容器了, 如果您尚未拉取鏡像,則在部署階段將下拉所需要的鏡像。 由於我們拉取官方NGINX圖像,我們將使用它。

要部署容器,請使用docker命令,如下所示:

備註:

- NAME等於您要為容器提供的名稱(這可以是任何內容,例如nginx-webserver)。

- PORTS您要使用的埠(以NETWORK PORT:CONTAINER PORT形式)。

- IMAGE用於容器的圖像(例如nginx)。

因此,部署NGINX容器的基本命令是:

容器將要部署,NGINX Web伺服器將在埠80上可用於本地網路。但是,如果已在伺服器上使用埠80來部署容器,該怎麼辦? 您可以將其部署在網路埠8080上,如下所示:

此時,您可能會看到下一個問題。 運行上述命令之一後,不返回bash提示符(圖B)。

你如何運行一個容器,並獲得你的bash提示? 為此,您必須以分離模式運行容器。 在此之前,您必須使用鍵盤組合[Ctrl] +終止當前容器。 該組合將返回提示並殺死容器。

要確定容器是否運行,使用命令:

將列出所有容器及其狀態(圖C)。

如果容器仍在運行,我們必須在同一埠部署另一個容器之前將其終止(否則埠會發生沖突,從而阻止容器部署)。 要殺死正在運行的容器,首先需要Container ID(隨機字元串)。 發出docker ps -a命令時會顯示此字元串。 要終止正在運行的容器,使用命令:

其中CONTAINER_ID是相關容器的ID。

然後,您可以使用以下命令刪除容器:

其中CONTAINER_ID是相關容器的ID。

請注意,您不必輸入完整的Container ID,字元串的前四個字元就足夠了。

現在,要以分離模式部署容器,命令是:

這次你不僅會得到你的提示,而且Docker會為你顯示容器ID(圖D)。

如果你想在正在運行的容器上工作怎麼辦? 假設您想對NGINX進行更改甚至開始開發它將顯示的網站? 因此,您必須訪問容器。 因此,您需要Container ID。 使用ID,發出命令:

其中CONTAINER_ID是容器的ID。

您現在應該處於運行容器提示符(圖E)中,您可以在其中開始處理NGINX伺服器。

要退出容器,只需鍵入命令exit。

七、比你想像的容易

希望到現在為止,您看到容器部署並不像您想像的那樣具有挑戰性。 在Docker的幫助下,您可以在幾分鍾內推出專業版的應用和服務。

原文鏈接:

C. 怎樣在阿里雲上安裝docker

怎樣在阿里雲上安裝docker
更多1
linux
因為debian 7安裝docker的手續比較麻煩,所以我把阿里雲的系統換成了ubuntu 14.04,然後參考:https://docs.docker.com/installation/ubuntulinux/
還算比較方便:apt-get update && apt-get install docker.io,然後再改兩個配置就完事了。
不過,在你運行docker run -i -t ubuntu /bin/bash的時候,會報錯,說是docker -d好象沒有運行,這不科學 啊,剛剛不是裝好的嗎?
於是ps aux|grep docker,果然沒有進程,於是直接輸入:docker -d,然後就發現報錯了:
2014/08/18 12:05:42 Could not find a free IP address range for interface 'docker0'. Please configure its address manually and run 'docker -b docker0'

老規矩,內事不決問度娘,外事不決問谷歌,結果居然看到有人回復 :

當時這個心就碎了,心想這不科學啊,於是再google,就真的發現了:

OK,那就試試吧:
sudo brctl addbr docker0 # create your bridge
sudo brctl addif docker0 eth0 # mask an existing interface using the bridge
sudo ip link set dev docker0 up # bring it up - not really sure if this is necessary or is it done automatically
sudo ifconfig docker0 10.0.0.4 # give it an IP

當然要運行brctl還是要裝一個bridge-utils工具的,當然這個ubuntu會提醒你,一步步的做完後,docker 果然可以啟動了。這時候再運行一下,service docker.io start,然後ps aux|grep docker,進程還活著。
於是輸入:
docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
2014/08/18 12:16:44 Get https://index.docker.io/v1/repositories/ubuntu/images: dial tcp: lookup index.docker.io on 10.143.22.118:53: no answer from server

咦。不能上網。其實就是上面的代碼的問題,因為默認aliyun的eth0是內網IP,所以上述的
sudo brctl addif docker0 eth0 # mask an existing interface using the bridge
這里應該用eth1
重新執行一下。然後再次運行:
docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
c5881f11ded9: Download complete
。。。。。。。

整個就完成了

D. 如何在阿里雲主機上安裝docker

你好,
如果你是centos7的話,Docker 軟體包已經包括在默認的 CentOS-Extras 軟體源里。因此想要安裝 docker,只需要運行下面的 yum 命令:

[root@localhost ~]# yum install docker

E. RabbitMQ 進階- 阿里雲伺服器部署RabbitMQ集群

如果RabbitMQ集群只有一個broker節點,那麼該節點的失效將導致整個服務臨時性的不可用,並且可能會導致message的丟失(尤其是在非持久化message存儲於非持久化queue中的時候)。可以將所有message都設置為持久化,並且使用持久化的queue,但是這樣仍然無法避免由於緩存導致的問題:因為message在發送之後和被寫入磁碟並執行fsync之間存在一個雖然短暫但是會產生問題的時間窗。通過publisher的confirm機制能夠確保客戶端知道哪些message已經存入磁碟,盡管如此,一般不希望遇到因單點故障導致服務不可用。

如果RabbitMQ集群是由多個broker節點構成的,那麼從服務的整體可用性上來講,該集群對於單點失效是有彈性的,但是同時也需要注意:盡管exchange和binding能夠在單點失效問題上倖免於難,但是queue和其上持有的message卻不行,這是因為queue及其內容僅僅存儲於單個節點之上,所以一個節點的失效表現為其對應的queue不可用。

為了提高程序的吞吐量,保持消息的可靠性,一台機器掛了後,RabbitMQ能夠正常生產,消費消息。

rabbitmq有三種模式:單機模式,普通集群模式,鏡像集群模式

Demo級別的,一般只是本機測試玩玩而已,生產環境下不會用的。

在多台機器上啟動多個rabbitmq實例,每個機器啟動一個。
但是你創建的queue,只會放在一個rabbtimq實例上,但是每個實例都同步queue的元數據(存放含queue數據的真正實例位置)。消費的時候,實際上如果連接到了另外一個實例,那麼那個實例會從queue所在實例上拉取數據過來。

示意圖

這種方式確實很麻煩,也不怎麼好,沒做到所謂的分布式,就是個普通集群。
普通集群的方式,確實達到了消息的高可用,但沒辦法保證可靠性,沒做到分布式,簡而言之,只是一個普通的集群。

這種模式,才是所謂的rabbitmq的高可用模式,跟普通集群模式不一樣的是,你創建的queue,無論元數據還是queue里的消息都會存在於多個實例上,然後每次你寫消息到queue的時候,都會自動把消息到多個實例的queue里進行消息同步。

上圖中每個節點有一個queue,生產者生產完畢數據後投遞到指定交換機的隊列,交換機的隊列進行消息同步。

每個節點queue都有一個完整的rabbitmq節點,所以這種方式叫做鏡像集群

好處: 任何一個節點宕機後,其它節點不受影響,正常使用

壞處:

確保機器中安裝了Docker,若未安裝,可看:【雲原生】Docker入門 – 阿里雲伺服器Linux環境下安裝Docker

查看拉取的鏡像

成功運行

設置節點1

瀏覽器輸入 您的ip地址:15673

再次測試即可成功~

File —> New —> Project —> Maven —> 直接Next 進入下一步創建普通的Maven工程即可

創建一個默認的Maven聚合工程,將src文件夾刪除,該工程就是一個Maven聚合工程

引入依賴如下:

在項目內,新建一個Moudle,rabbitmq-order-procer 默認Maven工程,下一步即可

在項目內,新建一個Moudle,rabbitmq-order-cousumer 默認Maven工程,下一步即可

Maven聚合工程創建完成圖

Maven依賴圖

自行手寫MainApplication即可

創建完成!

編寫完成!

啟動消費者

交換機

=

15674

15675

成功消費數據!

已成功同步消息~

F. 10. Docker 安裝與配置

Docker 是一個開源的應用容器引擎,基於LXC(Linux Container)內核虛擬化技術實現,提供一系列更強的功能,比如鏡像、 Dockerfile等;Docker理念是將應用及依賴包打包到一個可移植的容器中,可發布到任意Linux發行版Docker引擎上。使用沙箱機制運行程序, 程序之間相互隔離;

容器是在linux上本機運行,並與其他容器共享主機的內核,它運行的一個獨立的進程,不佔用其他任何可執行文件的內存,非常輕量、高效、快速。

虛擬機運行的是一個完成的操作系統,通過虛擬機管理程序對主機資源進行虛擬訪問,相比之下需要的資源更多。

參考: https://www.cnblogs.com/codingbit/p/install-docker-in-ubuntu.html

Linux版本CentOS7

使用加速器可以提升獲取Docker官方鏡像的速度,下面使用 阿里雲鏡像 進行加速。
通過修改daemon配置文件 /etc/docker/daemon.json 來使用加速器

Docker 守護進程綁定在 Unix socket 而不是 TCP 埠。默認情況下 Unix socket 歸屬於 root 用戶,其他用戶只能通過 sudo 命令訪問。所以 Docker 守護進程總是以 root 用戶來運行。

如果你不希望每次運行 docker 命令時在前面加上 sudo,你可以創建一個 docker 用戶組並把用戶加進去。當 Docker 守護進程啟動時,會創建一個 Unix socket 供 docker 用戶組成員訪問

創建 docker 用戶組並添加你的用戶

https://hub.docker.com/
什麼是 DockerHub 以及為什麼它很重要?DockerHub 是一個由 Docker 公司運行和管理的基於雲的存儲庫。它是一個在線存儲庫,Docker 鏡像可以由其他用戶發布和使用。
有兩種庫:公共存儲庫和私有存儲庫 。如果你是一家公司,你可以在你自己的組織內擁有一個私有存儲庫,而公共鏡像可以被任何人使用。

鏡像層和容器層

Docker 服務端是Docker 所有後台服務的統稱 。其中dockerd 是一個非常重要的後台管理進程,它負責響應和處理來自Docker 客戶端的請求,然後將客戶端的請求轉化為Docker 的具體操作。

例如:鏡像、容器、網路和掛載卷等具體對象的操作和管理。

Docker 從誕生到現在,服務端經歷了多次架構重構。起初,服務端的組件是全部集成在docker 二進制里。但是從 1.11 版本開始, dockerd 已經成了獨立的二進制,此時的容器也不是直接由dockerd 來啟動了,而是集成了containerd、runC 等多個組件。

雖然 Docker 的架構在不停重構,但是各個模塊的基本功能和定位並沒有變化。它和一般的 C/S 架構系統一樣,Docker 服務端模塊負責和 Docker 客戶端交互,並管理Docker 的容器、鏡像、網路等資源。

Docker 有兩個至關重要的組件: runC和containerd。
runC 是Docker 官方按照OCI 容器運行時標準的一個實現。通俗地講,runC 是一個用來運行容器的輕量級工具,是真正用來運行容器的。

containerd 是Docker 服務端的一個核心組件,它是從dockerd 中剝離出來的 ,它的誕生完全遵循OCI 標准,是容器標准化後的產物。containerd通過containerd-shim 啟動並管理runC,可以說containerd真正管理了容器的生命周期。

1. 容器中長期運行 程序
有兩種方式:

2. 容器 開啟和停止 程序
有兩種方式

3. 進入容器
有2種方法

想要web部署在互聯網上 或者 在Web上訪問 應用;

個人電腦處於 私網 中; IP地址處於 IPV4 和 IPV6

安裝appium

排錯,困難

https://hub.docker.com/r/appium/appium

測試adb

改變TCPIP連接方式

查看appium運行日誌
容器埠號為 4723

開啟nginx,就可以在web訪問 192.168.0.100;

Dockerfile其實可以看做一個命令集 。每行均為一條命令。每行的第一個單詞,就是命令command。後面的字元串是該命令所要接收的參數。比如ENTRYPOINT /bin/bash。ENTRYPOINT命令的作用就是將後面的參數設置為鏡像的entrypoint。至於現有命令的含義,這里不再詳述。DockOne上有很多的介紹。

FROM 指令用於指定其後構建新鏡像所使用的基礎鏡像。FROM 指令必是 Dockerfile 文件中的首條命令,啟動構建流程後,Docker 將會基於該鏡像構建新鏡像,FROM 後的命令也會基於這個基礎鏡像。

在鏡像的構建過程中執行特定的命令,並生成一個中間鏡像。格式:

最多127層,不是寫shell ;

G. 【實驗1】docker部署vue簡略過程

大家好,我是實驗小張,簡略記錄一下自己做的一點兒docker基礎處理過程。

1 - linux或者windows下安裝nodejs環境

2 - 創建vue項目

    npm install vue-cli -g // 全局安裝vue腳手架

    vue list // 查看腳手架安裝工具

    vue init webpack <項目名稱> // 創建vue項目,以此可以開發vue

    npm install // 安裝依賴包

    npm run dev // 調試運行,vue-cli-service serve

    npm run build // 調用package.json裡面的scripts對應的腳手架命令

    輸出dist

3 - 根據dist和Dockerfile文件製作鏡像

    #使用 nginx最新版本作為基礎鏡像,dist靜態web文件塞入nginx後,通過訪問nginx就可以訪問到我們的vue

    FROM nginx

    #將當前文件夾的dist文件復制到容器的/usr/share/nginx/html目錄

    COPY./dist/usr/share/nginx/html/#聲明運行時容器暴露的埠(容器提供的服務埠)

    EXPOSE 80

    #CMD:指定容器啟動時要運行的命令,後台運行nginx

    CMD ["nginx","-g","daemon off;"]

    以上作為Dockerfile腳本,運行 docker build -t <鏡像名稱>:<版本號x.x> . , 生成鏡像images_test:x.x

4 - 第3步中的鏡像在本地,本地運行可執行 docker run -t -p out_port:docker_port images_test:x.x

    如果需要再任何伺服器上的docker環境下運行此鏡像,則需要上傳至鏡像倉庫,我選擇的是阿里雲免費個人版容器服務

    $ docker login --username=n**** registry.cn-hangzhou.aliyuncs.com

    $ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[鏡像版本號]

    $ docker push registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[鏡像版本號]

    然後可以拉取鏡像,docker pull registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[鏡像版本號]

5 - 上面的事情處理完畢之後,就可以部署到伺服器上了,最後一步,運行自製的vue鏡像

    docker run -d -p 8080:80 image_test:<version no.> 

6 - 也可以通過docker-compose up -d來運行yml文件來運行鏡像,還可以通過volumes參數來掛載數據卷

先大略說這么多,docker是一個比較好用的工具,提高開發效率和降低運維成本,easy~

    

H. 阿里雲 上的docker 怎麼用

包括三部分:
從Docker Hub或者其他鏡像源安裝Docker鏡像
從Image file安裝Docker鏡像
從Docker file製作Docker鏡像

查找Docker鏡像

安裝Docker鏡像的第一步,是查找你需要的Docker鏡像列表,鍵入:
docker search mysql

如果出現許可權問題,請在最前面加入sudo:
sudo docker search mysql

查詢返回一個列表:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relati... 2981 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Crea... 194 [OK]
centurylink/mysql Image containing mysql. Optimized to be li... 46 [OK]
sameersbn/mysql 36 [OK]
jdeathe/centos-ssh-mysql CentOS-6 6.8 x86_64 / MySQL. 8 [OK]
appcontainers/mysql Centos/Debian Based Customizable MySQL Con... 8 [OK]
marvambass/mysql MySQL Server based on Ubuntu 14.04 6 [OK]
drupaldocker/mysql MySQL for Drupal 2 [OK]
azukiapp/mysql Docker image to run MySQL by Azuki - http:... 2 [OK]
yfix/mysql Yfix docker built mysql 2 [OK]
alterway/mysql Docker Mysql 2 [OK]
frodenas/mysql A Docker Image for MySQL 2 [OK]
andreluiznsilva/mysql A extension of the offical MySQL container... 1 [OK]
phpmentors/mysql MySQL server image 1 [OK]
sin30/mysql MySQL images with my own config files. 1 [OK]
tozd/mysql MySQL (MariaDB fork) Docker image. 0 [OK]
nanobox/mysql MySQL service for nanobox.io 0 [OK]
...

列表包含了所有的MySQL鏡像,其中:
NAME欄位是鏡像的名字
DESCRIPTION欄位是對鏡像的簡單描述
STARS數量反映了用戶的喜愛程度
OFFICIAL欄位如果是OK,代表了這個鏡像是官方提供的,可以信任
AUTOMATED欄位如果是OK,代表了這個鏡像是基於公開的腳本製作的,可以信任
如果OFFICIAL和AUTOMATED都不為OK,那使用的時候需要額外小心了,這類鏡像中可能包含惡意軟體,不過對於個人非敏感數據還是可以使用的。

此外,你也可以通過訪問https://hub.docker.com/,通過Web來搜索你需要的鏡像。
下載Docker鏡像

當你找到合適的鏡像後,可以通過:
docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]

來進行下載,方括弧中的是可選項:
docker pull mysql

導出Docker鏡像

你可以將本地鏡像導出為文件,如我們剛才下載的MySQL鏡像:
docker save -o mysql.tar mysql

將我們的MySQL鏡像導出為mysql.tar.
導入Docker鏡像

有導出就有導入,導入的命令是:
docker load -i mysql.tar

將我們的MySQL鏡像導入。
刪除Docker鏡像

為了節約磁碟空間,有時候我們需要刪除不需要的Docker鏡像文件,首先查看我們擁有的Docker鏡像文件:
docker images

然後刪除不需要的鏡像,釋放磁碟空間:
docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]

通過Docker File編譯Docker鏡像

製作Docker File我們放在後面再講,假設你有一個名為Dockerfile的文件,編譯製作Docker的命令是:
docker build -f Dockerfile .

成功後將在當前路徑下製作出一個Docker鏡像文件。
Summary

我們簡單的介紹了Docker鏡像的使用方法。通過此實戰,你應該對Docker鏡像有了更深入的體會。
以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索docker , 鏡像 , docker使用鏡像 , 刪除鏡像 查找鏡像 docker 刪除鏡像、docker 鏡像、docker 國內鏡像倉庫、docker hub 國內鏡像、docker 鏡像倉庫,以便於您獲取更多的相關知識。

I. 阿里雲搭建docker私有鏡像倉庫與SpringBoot項目推送遠程鏡像倉庫

隨著項目上容器技術的廣泛應用,我也加入了Docker容器技術的學習。首先初學Docker,我的想法很簡單。創建一個SpringBoot項目,如何將SpringBoot項目打包成容器鏡像,然後推送至遠程的Docker服務上部署。帶著這個目的查閱了一些資料後,整體的實現思路如下:

環境描述:
准備一台阿里雲伺服器,已經完成Docker服務安裝,後續將會在該伺服器上進行搭建Docker私有鏡像倉庫。本地准備一個SpringBoot項目,至少編寫一個Controller,保證本地SpringBoot項目啟動後能夠正常訪問到Contriller。

由於私有鏡像倉庫是部署在阿里雲上,要確保私有倉庫的安全性,需要一個安全認證證書,防止發生意想不到的事情。所有需要在搭建私有倉庫的Docker主機上先生成自簽名證書。

生成自簽名證書:
通過openssl命令先生成自簽名證書,運行命令後需要填寫一些證書信息。其中Common Name填寫的xx.96.104.xxx是最關鍵的信息,這里填寫的是私有倉庫的地址:
Country Name:國家
State or Province Name:州或省
Locality Name:城市
Organization Name :機構名稱
Organizational Unit Name :組織單位名稱
Common Name:hostname域名
Email Address:郵箱地址

頁面訪問:
頁面訪問: http://xx.96.194.xxx:7001/

頁面訪問Spring Boot項目

參考:Docker 私有鏡像倉庫的搭建及認證
參考:Spring Boot 多樣化構建 Docker 鏡像
參考:registry-web集成安全認證

閱讀全文

與阿里雲伺服器怎麼部署docker相關的資料

熱點內容
命令窗口輸入後不滾動 瀏覽:638
C面向切面編程aop例子 瀏覽:368
windowsrar命令 瀏覽:379
單片機編程語言有哪些 瀏覽:441
蘋果安卓系統筆記本怎麼設置密碼 瀏覽:982
只能加密不能解密有什麼用 瀏覽:239
怎麼製造app 瀏覽:121
電腦解壓死機了怎麼辦 瀏覽:607
歐洲伺服器雲進銷存 瀏覽:192
程序員python和java 瀏覽:949
文件夾怎麼插入幻燈 瀏覽:282
帶孩子到崩潰怎麼解壓 瀏覽:63
戰地一被踢出伺服器會顯示什麼 瀏覽:837
怎麼看手機上所有的app 瀏覽:365
網路拚命令怎麼拼 瀏覽:836
產品經理和程序員優先選哪個 瀏覽:393
樸素的app應用怎麼推廣 瀏覽:586
怎麼查校園卡app專屬流量 瀏覽:437
少兒編程教育培訓視頻 瀏覽:562
華為平板如何裝兩個一樣的app 瀏覽:728