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