摘要:自動化測試和持續(xù)集成發(fā)布。在服務型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應用。容器與鏡像的關系類似于面向?qū)ο缶幊讨械膶ο笈c類。容器容器是獨立運行的一個或一組應用。提供了龐大的鏡像集合供使用。
還在按照mysql安裝教程一步一步配置服務配置賬戶嗎?還在為每開一個新環(huán)境重新配置這些服務感到苦惱嗎?使用Docker,服務快速構(gòu)建部署。解決你的研發(fā)時間,早點下班~現(xiàn)代技術(shù),還不會docker你就落后了。Docker
百度百科定義
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口
比較全面的學習網(wǎng)站:https://www.runoob.com/docker...
以下資料來源于www.runoob.com,更多資料請直接訪問該網(wǎng)站,侵刪。
Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 從 17.03 版本之后分為 CE(Community Edition: 社區(qū)版) 和 EE(Enterprise Edition: 企業(yè)版),我們用社區(qū)版就可以了。
誰適合閱讀本教程?
本教程適合運維工程師及后端開發(fā)人員,通過本教程你可以一步一步了解 Docker 的使用。
閱讀本教程前,您需要了解的知識
在閱讀本教程前,你需要掌握 Linux 的常用命令。你可以通過本站的 Linux 教程 來學習相關命令。
Docker的應用場景
Web 應用的自動化打包和發(fā)布。 自動化測試和持續(xù)集成、發(fā)布。 在服務型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應用。 從頭編譯或者擴展現(xiàn)有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環(huán)境。
Docker 的優(yōu)點
1、簡化程序: Docker 讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,便可以實現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開發(fā)者可以直接將自己的成果放入Docker中進行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢,過去需要用數(shù)天乃至數(shù)周的 任務,在Docker容器的處理下,只需要數(shù)秒就能完成。 2、避免選擇恐懼癥: 如果你有選擇恐懼癥,還是資深患者。Docker 幫你 打包你的糾結(jié)!比如 Docker 鏡像;Docker 鏡像中包含了運行環(huán)境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后臺應用、數(shù)據(jù)庫應用、大數(shù)據(jù)應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。 3、節(jié)省開支: 一方面,云計算時代到來,使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與云的結(jié)合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
相關鏈接
Docker 官網(wǎng):http://www.docker.com
Github Docker 源碼:https://github.com/docker/docker
Docker 使用客戶端-服務器 (C/S) 架構(gòu)模式,使用遠程API來管理和創(chuàng)建Docker容器。
Docker 容器通過 Docker 鏡像來創(chuàng)建。
容器與鏡像的關系類似于面向?qū)ο缶幊讨械膶ο笈c類。
Docker | 面向?qū)ο?/th> |
---|---|
容器 | 對象 |
鏡像 | 類 |
名稱 | 概述 |
---|---|
Docker 鏡像(Images) | Docker 鏡像是用于創(chuàng)建 Docker 容器的模板。 |
Docker 容器(Container) | 容器是獨立運行的一個或一組應用。 |
Docker 客戶端(Client) | Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/refer... 與 Docker 的守護進程通信。 |
Docker 主機(Host) | 一個物理或者虛擬的機器用于執(zhí)行 Docker 守護進程和容器。 |
Docker 倉庫(Registry) | Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。 |
Docker Hub(https://hub.docker.com) | 提供了龐大的鏡像集合供使用。 |
Docker Machine | Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
請直接訪問https://www.runoob.com/docker...
以下簡述常規(guī)鏡像和容器操作
docker pull training/webapp # 載入鏡像 docker run -d -P training/webapp python app.py # 后臺運行鏡像 docker ps # 查看正常運行的容器 CONTAINER ID IMAGE COMMAND ... PORTS CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 749081df9fe6 alenx/walle-web:2.1 "nginx -g "daemon of…" 2 weeks ago Up 2 days 0.0.0.0:7070->80/tcp walle-nginx eafa0bf1e0f8 alenx/walle-python:2.1 "bash -c "cd /opt/wa…" 2 weeks ago Up 2 days 5000/tcp walle-python dde36e384856 mysql "docker-entrypoint.s…" 2 weeks ago Up 2 days 0.0.0.0:3306->3306/tcp, 33060/tcp walle-mysql b7f2cab4ac7c eclipse/che-server:6.8.0 "/entrypoint.sh" 11 months ago Up 2 days 8000/tcp, 0.0.0.0:8080->8080/tcp che docker logs -f d3d5e39ed9d3 #查看日志 docker stop che # 停止容器 docker start che # 啟動容器 docker rm che # 移除容器Docker常規(guī)實例
該網(wǎng)站內(nèi)包括以下docker鏡像的部署
實例 | 網(wǎng)站 |
---|---|
Nginx | https://www.runoob.com/docker... |
PHP | https://www.runoob.com/docker... |
MySQL | https://www.runoob.com/docker... |
Tomcat | https://www.runoob.com/docker... |
Python | https://www.runoob.com/docker... |
Redis | https://www.runoob.com/docker... |
MongoDB | https://www.runoob.com/docker... |
Apache | https://www.runoob.com/docker... |
Gitlab | https://www.jianshu.com/p/080... |
Nexus | https://www.jianshu.com/p/77a... |
內(nèi)容參考:https://www.runoob.com/docker...
查找遠程鏡像:docker search mysql
拉取遠程鏡像:docker pull mysql:5.6
瀏覽本地鏡像:docker images |grep mysql
運行本地鏡像:docker run -d -P mysql:5.6
查看本地容器:docker ps
內(nèi)容參考https://www.jianshu.com/p/080...
拉取遠程鏡像:docker pull gitlab/gitlab-ce
運行本地鏡像:
$ docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce # -d:后臺運行 # -p:將容器內(nèi)部端口向外映射(左邊宿主機端口,右邊容器端口) # --name:命名容器名稱 # -v:將容器內(nèi)數(shù)據(jù)文件夾或者日志、配置等文件夾掛載到宿主機指定目錄
由于gitlab需要使用ssh連接,并且http地址需要使用固定地址(否則下載完的代碼可能呈現(xiàn)giturl為127.0.0.1,所以我們要進行略微的調(diào)整)
編輯鏡像配置:vim /home/gitlab/config/gitlab.rb
編輯鏡像配置:
# 配置http協(xié)議所使用的訪問地址,不加端口號默認為80 external_url "http://192.168.1.122" # 配置ssh協(xié)議所使用的訪問地址和端口 gitlab_rails["gitlab_ssh_host"] = "192.168.1.122" gitlab_rails["gitlab_shell_ssh_port"] = 222 # 此端口是run時22端口映射的222端口 :wq #保存配置文件并退出
重啟本地容器:docker restart gitlab
后續(xù)創(chuàng)建項目和拉取代碼等常規(guī)操作不再解釋
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/27888.html
摘要:以便對整個持續(xù)集成印象加深。配置完各環(huán)境發(fā)布腳本后,則可以使用構(gòu)建發(fā)起進行觸發(fā)環(huán)境準備。并會在遠程環(huán)境上存放多次發(fā)布的版本,用于回退和切換服務停用。進行等操作,停止原本運行的服務切換啟用。 該文章用于建立一個小型的基于Walle的持續(xù)集成工具。解決java,react,angular項目的編譯發(fā)布。以便對整個持續(xù)集成印象加深。官方網(wǎng)站:https://walle-web.io/ 適用...
摘要:該文章用于概述一個小型持續(xù)集成環(huán)境的搭建的方案什么是持續(xù)集成持續(xù)集成作為當今軟件開發(fā)實踐,可以簡單理解為團隊開發(fā)相對頻繁的集成他們的工作,一般讓每個成員每天至少集成一次,而這回造成每天會有多次的版本發(fā)布。 該文章用于概述一個小型持續(xù)集成環(huán)境的搭建的方案 什么是持續(xù)集成? 持續(xù)集成作為當今軟件開發(fā)實踐,可以簡單理解為團隊開發(fā)相對頻繁的集成他們的工作,一般讓每個成員每天至少集成一次,而這回...
摘要:本章用于講解如何在下構(gòu)建和運行。編譯發(fā)版都是基于的容器,下完成的。 本章用于講解如何在walle下構(gòu)建和運行JavaWeb。主要包含SpringBoot,ScalaAkkaWeb應用,以Java -jar和Docker運行兩種方式(Tomcat方式不講,大家自行研究) 新建項目 項目中心 > 項目管理 > 新建項目 以下是一份配置好的項目表 分組 項目 參考 備注 基本配置 ...
摘要:本章用于講解如何在下構(gòu)建和運行前端應用。項目配置服務名稱鏡像版本映射容器端口到本地端口數(shù)據(jù)卷映射本地文件到容器映射文件到容器的目錄并覆蓋文件映射文件夾到容器的文件夾覆蓋容器啟動后默認執(zhí)行的命令。環(huán)境準備參考文檔 本章用于講解如何在walle下構(gòu)建和運行前端應用。主要包含React,Angular應用,以Nginx+Docker運行(Vue方式不講,大家自行研究) 新建項目 項目中心 >...
摘要:當前版本針對于安裝版概要整體流程貫通,基本可以達到實用級別。仍舊有很多需要提高的地方發(fā)布構(gòu)建時部署上線服務器卡頓嚴重,基本不可以多項目發(fā)布。 該文章旨在描述從零開始搭建環(huán)境,中間遇到的問題以及最終的經(jīng)驗總結(jié)。當前版本針對于2.0 docker安裝版 概要 整體流程貫通,基本可以達到實用級別。滿足2-5臺服務器,少量的應用部署是完全可以的,但達到一定規(guī)模之后則Walle和Jenkins...
閱讀 3646·2021-08-31 09:39
閱讀 1921·2019-08-30 13:14
閱讀 2990·2019-08-30 13:02
閱讀 2827·2019-08-29 13:22
閱讀 2419·2019-08-26 13:54
閱讀 844·2019-08-26 13:45
閱讀 1664·2019-08-26 11:00
閱讀 1043·2019-08-26 10:58