摘要:作者麥冬白鯨魚是什么入門教程容器是與系統(tǒng)其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由另一個鏡像提供,從開發(fā)到測試再到生產(chǎn)的整個過程中,容器都具有可移植性和一致性??焖偃萜鞯膯雍蛣?chuàng)建無需啟動,可以實現(xiàn)秒級甚至毫秒級的啟動。
作者: 麥冬 白鯨魚docker 是什么
Docker 入門教程
Docker容器是與系統(tǒng)其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由另一個鏡像提供,從開發(fā)到測試再到生產(chǎn)的整個過程中,Linux 容器都具有可移植性和一致性。相對于依賴重復(fù)傳統(tǒng)測試環(huán)境的開發(fā)渠道,容器的運行速度要快得多,并且支持在多種主流云平臺(PaaS)和本地系統(tǒng)上部署。Docker容器很好地解決了“開發(fā)環(huán)境能正常跑,一上線就各種崩”的尷尬。
輕量:容器是進程級的資源隔離,而虛擬機是操作系統(tǒng)級的資源隔離,所以Docker容器相對于虛擬機來說可以節(jié)省更多的資源開銷,因為Docker容器不再需要GuestOS這一層操作系統(tǒng)了。
快速:容器的啟動和創(chuàng)建無需啟動GuestOS,可以實現(xiàn)秒級甚至毫秒級的啟動。
可移植性:Docker容器技術(shù)是將應(yīng)用及所依賴的庫和運行時的環(huán)境技術(shù)改造包成容器鏡像,可以在不同的平臺運行。
自動化:容器生態(tài)中的容器編排工作(如:Kubernetes)可幫助我們實現(xiàn)容器的自動化管理。
docker三大核心
》
對應(yīng)用進行自動打包和部署
創(chuàng)建輕量、私有的PAAS環(huán)境
自動化測試和持續(xù)整合與部署
部署和擴展web應(yīng)用、數(shù)據(jù)庫和后端服務(wù)
基礎(chǔ)部分 安裝看Docker操作手冊
寫的很詳細
這里說下二進制安裝,按照官網(wǎng)方式Install static binaries
安裝docker在Centos基本上就是yuminstall即可的一件事情(在ubuntu也是apt-get很容易安裝),但是在實際環(huán)境中,可能遇到企業(yè)內(nèi)網(wǎng)之內(nèi)無法連接,或者安全合規(guī)審查等問題,加之下載增加了安裝時間,因此二進制方式安裝變成了一種實際的需要。下面是官網(wǎng)的安裝方式
有些時候會在sudo docker &時候出現(xiàn)錯誤
可以執(zhí)行以下下面命令再試。
rm -rf /var/lib/docker腳本傻瓜式安裝
這里提供寫好的腳本,可以把腳本和下載的二進制文件放在同一目錄下,然后運行sh install-docker.sh
項目 | 下載地址 |
---|---|
二進制方式安裝docker腳本 | http://osgp88fat.bkt.clouddn.... |
二進制的docker安裝文件 | https://download.docker.com/l... |
sudo docker info運行容器
docker run命令提供了Docker容器的創(chuàng)建到啟動的功能
如果要在命令行下創(chuàng)建一個我們能與之進行交互的容器,而不是一個運行后臺服務(wù)的容器,則-i -t這兩個參數(shù)是必不可少的基本參數(shù)。
apt-get update && apt-get install vim //在容器中安裝vim
exit // 推出容器,返回到Ubuntu容器的宿主機命令行提示符中查看當(dāng)前系統(tǒng)中容器列表
sudo docker ps -a
加上-a 會顯示正在運行的 和已經(jīng)停止的所有容器
一般docker會為創(chuàng)建的容器生成隨機名稱,生成指定名稱用--name
sudo docker run --name jxtreehouse -i -t ubuntu /bin/bash附著到容器上
像上面那樣,docker容器重新啟動時候,會沿用docker run 命令的參數(shù)來運行,因此我們?nèi)萜髦匦聠雍髸\行一個交互式會話shell。
當(dāng)然,我們也可以用docker attach命令 重新附著到該容器的會話上
sudo docker attach jxtreehouse創(chuàng)建守護式容器
除了交互式運行的容器,我們也可以創(chuàng)建長期運行的容器:守護式容器
特點:
沒有交互會話
非常適合運行應(yīng)用程序和服務(wù)
所以,大多數(shù)時候我們都需要守護式運行我們的容器
sudo docker run --name jxbooks -d ubuntu /bin/sh -c "while true;do echo hello jx;sleep 1; done"
從上面運行結(jié)果我們可以看出,docker run命令并沒有像上一個容器那樣將主機的控制臺附著到新的shell會話上,僅僅返回一個容器ID而已,我們還是在主機的命令中。
### 查看日志
sudo docker jxbooks sudo docker logs jxbooks // 獲取守護式容器日志 sudo docker logs -f jxbooks // 跟蹤守護式容器的日志(-f 類似 tail -f) sudo docker logs -ft jxbooks // 跟蹤守護式容器的最新日志 (加上時間戳)查看容器內(nèi)的進程
sudo docker top jxbooks在容器內(nèi)部運行進程
在Docker3.1之后,我們可以通過docker exec命令在容器內(nèi)部額外啟動新程序。
可以在容器內(nèi)運行的進程有兩種:
后臺任務(wù)
交互式任務(wù)
后臺任務(wù)例子:
sudo docker exec -d jxbooks touch /etc/new_config_file
在jxbooks容器中啟動一個如打開shell的交互任務(wù):
sudo docker exec -t -i jxbooks /bin/bash
和交互式容器一樣,這里-t -i 標志為我們執(zhí)行的進程創(chuàng)建TTY并捕捉STDIN。
停止守護式容器sudo docker stop jxbooks
jxbooks也可用容器的ID來替代(查看id 可用 docker ps -a)
自動重啟容器sudo docker run --restart=always --name jxbooks -d ubuntu /bin/sh -c "while true; do echo hello world; sleep1;done"
--restart=always 無論容器的退出代碼是什么,docker都會自動重啟容器
還可以設(shè)置成 on-failure (只有當(dāng)容器退出代碼為非 0 時候 才會自動重啟)
--restart=on-failture:5 //重啟次數(shù)參數(shù)深入容器
sudo docker inspect jxbooks刪除容器
sudo docker rm 容器名或id //注意運行中的docker容器無法刪除,必須先docker stop 或者 docker kill 停止容器
刪除所有容器
docker rm `docker ps -a -q`創(chuàng)建鏡像
查看這個docker 入門
.gitignore
.git node_modules npm-debug.log
Dockerfile
FROM node:8.4 COPY . /app WORKDIR /app RUN ["npm", "install"] EXPOSE 7001/tcp
zk@zk-TM1604:~/data-screen$ docker image build -t data-screen:0.0.1 . docker image ls zk@zk-TM1604:~/data-screen$ docker save data-screen:0.0.1 | gzip > data-screen.tar.gz zk@zk-TM1604:~/data-screen$ scp -r data-screen.tar.gz [email protected]:/root/
這時候我們項目的根目錄下就有了一個docker的鏡像壓縮文件
在合作開發(fā)時候,我們拿到一個項目打包好的docker鏡像(原開發(fā)環(huán)境為ubuntu,我們這里拿到鏡像后 還用ubuntu做演示,實際開發(fā)時候,你可能是在windows 或者centos中拿到這個項目鏡像來開發(fā))
比如壓縮包名datascreen.tar
這里我用遠程服務(wù)器演示下:
我們在根目錄/data文件夾中建一個docker文件夾,進入文件夾,新建tmp文件夾 ,在docker同級目錄下新建 datascreen 文件夾 我們將把項目docker鏡像文件映射到這里
導(dǎo)入容器sudo docker load < ${PATH}/datascreen.tar //加載docker打包的鏡像 到本宿主機運行Docker
sudo docker images //獲取image ID sudo docker run -d -it -p 7001:7001 -v /data/docker/tmp/:/tmp/ {image id} /bin/bash
/data/docker/tmp/ 映射到的宿主機上的目錄
/tmp/ {image id} /bin/bash 鏡像中的目錄
sudo docker ps //查看運行中的容器 sudo docker start f1737f42f13b //f1737f42f13b 是容器id sudo docker exec -it f1737f42f13b /bin/bash運行data-screen
cd data-screen/ nohup ./auto-run.sh &
auto-run.sh腳本中的內(nèi)容,主要是啟動mongod 和用node啟動入口文件index.js (這個項目是一個nodejs的后臺項目)
(!危險) 如果是運行在應(yīng)用上的程序和服務(wù)的守護式容器 注意不要隨意停止
sudo docker ps
sudo docker stop參考
Docker操作手冊
第一本docker書
[Docker — 從入門到實踐]()
Docker 入門教程
Docker 微服務(wù)教程
基于docker+gunicorn部署sanic項目
vue-cli3 項目從搭建優(yōu)化到docker部署
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27010.html
摘要:初識是什么是一個開源的應(yīng)用容器引擎,基于語言并遵從協(xié)議開源。容器是完全使用沙箱機制,相互之間不會有任何接口更重要的是容器性能開銷極低。命令為,如下由此可知,我們新打包的鏡像的為。登錄賬號再輸入自己的賬號密碼即可。 初識Docker Docker是什么? ??Docker 是一個開源的應(yīng)用容器引擎,基于?Go 語言并遵從Apache2.0協(xié)議開源。??Docker 可以讓開發(fā)者打包他們的...
摘要:前言其實接觸也有一段時間了,但是一直沒有做下總結(jié),現(xiàn)在網(wǎng)上關(guān)于的介紹也有很多了,本著好記性不如爛筆頭的原則,還是自己再記錄一波吧。實現(xiàn)目標安裝探索基本概念及用法環(huán)境準備位,內(nèi)核版本不低于安裝以下命令均需在權(quán)限下執(zhí)行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其實接觸 do...
摘要:原文地址零基礎(chǔ)入門指南一介紹簡介源代碼托管在上,公司開源的一個基于技術(shù)之上構(gòu)建的容器引擎,基于語言并遵從協(xié)議開源。通過等實現(xiàn)內(nèi)核虛擬化技術(shù),并提供容器的資源隔離與安全保障等。 原文地址:Docker零基礎(chǔ)入門指南(一):Docker介紹 Docker簡介 Docker源代碼托管在 GitHub上,Docker 公司開源的一個基于LXC技術(shù)之上構(gòu)建的Container容器引擎,基于Go...
摘要:常見問題點擊之后提示錯誤,我們點擊瀏覽選擇安裝目錄的下載鏡像很慢,參考提供的加速器文檔鏈接之旅使用搭建私服二其他參考非常詳細的學(xué)習(xí)筆記最佳實踐一命令詳解超全版本基于打造前端持續(xù)集成開發(fā)環(huán)境 Docker進行感性認知 Docker 最初的2小時(Docker從入門到入門).md 開啟Docker之旅 環(huán)境: win7, 64位 工具準備: 1. 官網(wǎng)地址: https://get....
摘要:常見問題點擊之后提示錯誤,我們點擊瀏覽選擇安裝目錄的下載鏡像很慢,參考提供的加速器文檔鏈接之旅使用搭建私服二其他參考非常詳細的學(xué)習(xí)筆記最佳實踐一命令詳解超全版本基于打造前端持續(xù)集成開發(fā)環(huán)境 Docker進行感性認知 Docker 最初的2小時(Docker從入門到入門).md 開啟Docker之旅 環(huán)境: win7, 64位 工具準備: 1. 官網(wǎng)地址: https://get....
閱讀 4976·2021-11-25 09:43
閱讀 1213·2021-11-24 09:38
閱讀 1936·2021-09-30 09:54
閱讀 2839·2021-09-23 11:21
閱讀 2394·2021-09-10 10:51
閱讀 2405·2021-09-03 10:45
閱讀 1190·2019-08-30 15:52
閱讀 1794·2019-08-30 14:13