亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Docker入門(一)

zebrayoung / 2109人閱讀

摘要:作者麥冬白鯨魚是什么入門教程容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運(yùn)行這些進(jìn)程所需的所有文件都由另一個(gè)鏡像提供,從開發(fā)到測(cè)試再到生產(chǎn)的整個(gè)過(guò)程中,容器都具有可移植性和一致性??焖偃萜鞯膯?dòng)和創(chuàng)建無(wú)需啟動(dòng),可以實(shí)現(xiàn)秒級(jí)甚至毫秒級(jí)的啟動(dòng)。

作者: 麥冬 白鯨魚
docker 是什么

Docker 入門教程

Docker容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運(yùn)行這些進(jìn)程所需的所有文件都由另一個(gè)鏡像提供,從開發(fā)到測(cè)試再到生產(chǎn)的整個(gè)過(guò)程中,Linux 容器都具有可移植性和一致性。相對(duì)于依賴重復(fù)傳統(tǒng)測(cè)試環(huán)境的開發(fā)渠道,容器的運(yùn)行速度要快得多,并且支持在多種主流云平臺(tái)(PaaS)和本地系統(tǒng)上部署。Docker容器很好地解決了“開發(fā)環(huán)境能正常跑,一上線就各種崩”的尷尬。

輕量:容器是進(jìn)程級(jí)的資源隔離,而虛擬機(jī)是操作系統(tǒng)級(jí)的資源隔離,所以Docker容器相對(duì)于虛擬機(jī)來(lái)說(shuō)可以節(jié)省更多的資源開銷,因?yàn)镈ocker容器不再需要GuestOS這一層操作系統(tǒng)了。

快速:容器的啟動(dòng)和創(chuàng)建無(wú)需啟動(dòng)GuestOS,可以實(shí)現(xiàn)秒級(jí)甚至毫秒級(jí)的啟動(dòng)。

可移植性:Docker容器技術(shù)是將應(yīng)用及所依賴的庫(kù)和運(yùn)行時(shí)的環(huán)境技術(shù)改造包成容器鏡像,可以在不同的平臺(tái)運(yùn)行。

自動(dòng)化:容器生態(tài)中的容器編排工作(如:Kubernetes)可幫助我們實(shí)現(xiàn)容器的自動(dòng)化管理。

docker三大核心



常見應(yīng)用場(chǎng)景

對(duì)應(yīng)用進(jìn)行自動(dòng)打包和部署

創(chuàng)建輕量、私有的PAAS環(huán)境

自動(dòng)化測(cè)試和持續(xù)整合與部署

部署和擴(kuò)展web應(yīng)用、數(shù)據(jù)庫(kù)和后端服務(wù)

基礎(chǔ)部分 安裝

看Docker操作手冊(cè)
寫的很詳細(xì)

二進(jìn)制安裝 一般安裝方法

這里說(shuō)下二進(jìn)制安裝,按照官網(wǎng)方式Install static binaries

安裝docker在Centos基本上就是yuminstall即可的一件事情(在ubuntu也是apt-get很容易安裝),但是在實(shí)際環(huán)境中,可能遇到企業(yè)內(nèi)網(wǎng)之內(nèi)無(wú)法連接,或者安全合規(guī)審查等問(wèn)題,加之下載增加了安裝時(shí)間,因此二進(jìn)制方式安裝變成了一種實(shí)際的需要。下面是官網(wǎng)的安裝方式

有些時(shí)候會(huì)在sudo docker &時(shí)候出現(xiàn)錯(cuò)誤
可以執(zhí)行以下下面命令再試。

rm -rf /var/lib/docker 
腳本傻瓜式安裝

這里提供寫好的腳本,可以把腳本和下載的二進(jìn)制文件放在同一目錄下,然后運(yùn)行sh install-docker.sh

項(xiàng)目 下載地址
二進(jìn)制方式安裝docker腳本 http://osgp88fat.bkt.clouddn....
二進(jìn)制的docker安裝文件 https://download.docker.com/l...
程序是否正常
sudo docker info

運(yùn)行容器

docker run命令提供了Docker容器的創(chuàng)建到啟動(dòng)的功能


如果要在命令行下創(chuàng)建一個(gè)我們能與之進(jìn)行交互的容器,而不是一個(gè)運(yùn)行后臺(tái)服務(wù)的容器,則-i -t這兩個(gè)參數(shù)是必不可少的基本參數(shù)。

apt-get update && apt-get install vim  //在容器中安裝vim
exit //  推出容器,返回到Ubuntu容器的宿主機(jī)命令行提示符中

查看當(dāng)前系統(tǒng)中容器列表
sudo docker ps -a 


加上-a 會(huì)顯示正在運(yùn)行的 和已經(jīng)停止的所有容器

容器命名

一般docker會(huì)為創(chuàng)建的容器生成隨機(jī)名稱,生成指定名稱用--name

sudo docker run --name jxtreehouse -i -t ubuntu /bin/bash

附著到容器上

像上面那樣,docker容器重新啟動(dòng)時(shí)候,會(huì)沿用docker run 命令的參數(shù)來(lái)運(yùn)行,因此我們?nèi)萜髦匦聠?dòng)后會(huì)運(yùn)行一個(gè)交互式會(huì)話shell。
當(dāng)然,我們也可以用docker attach命令 重新附著到該容器的會(huì)話上

 sudo docker attach jxtreehouse

創(chuàng)建守護(hù)式容器

除了交互式運(yùn)行的容器,我們也可以創(chuàng)建長(zhǎng)期運(yùn)行的容器:守護(hù)式容器
特點(diǎn):

沒(méi)有交互會(huì)話

非常適合運(yùn)行應(yīng)用程序和服務(wù)

所以,大多數(shù)時(shí)候我們都需要守護(hù)式運(yùn)行我們的容器

sudo docker run --name jxbooks -d  ubuntu /bin/sh -c "while true;do echo hello jx;sleep 1; done"


從上面運(yùn)行結(jié)果我們可以看出,docker run命令并沒(méi)有像上一個(gè)容器那樣將主機(jī)的控制臺(tái)附著到新的shell會(huì)話上,僅僅返回一個(gè)容器ID而已,我們還是在主機(jī)的命令中。

容器內(nèi)部運(yùn)行情況

### 查看日志

sudo docker jxbooks
sudo docker logs jxbooks  // 獲取守護(hù)式容器日志
sudo docker logs -f jxbooks // 跟蹤守護(hù)式容器的日志(-f 類似 tail -f)
sudo docker logs -ft jxbooks // 跟蹤守護(hù)式容器的最新日志 (加上時(shí)間戳)
查看容器內(nèi)的進(jìn)程
 sudo docker top jxbooks
在容器內(nèi)部運(yùn)行進(jìn)程

在Docker3.1之后,我們可以通過(guò)docker exec命令在容器內(nèi)部額外啟動(dòng)新程序。
可以在容器內(nèi)運(yùn)行的進(jìn)程有兩種:

后臺(tái)任務(wù)

交互式任務(wù)

后臺(tái)任務(wù)例子:

 sudo docker exec -d jxbooks touch /etc/new_config_file

在jxbooks容器中啟動(dòng)一個(gè)如打開shell的交互任務(wù):

 sudo docker exec -t -i jxbooks /bin/bash

和交互式容器一樣,這里-t -i 標(biāo)志為我們執(zhí)行的進(jìn)程創(chuàng)建TTY并捕捉STDIN。

停止守護(hù)式容器
sudo docker stop jxbooks

jxbooks也可用容器的ID來(lái)替代(查看id 可用 docker ps -a

自動(dòng)重啟容器
sudo docker run --restart=always --name jxbooks -d ubuntu /bin/sh -c "while true; do echo hello world; sleep1;done"

--restart=always 無(wú)論容器的退出代碼是什么,docker都會(huì)自動(dòng)重啟容器
還可以設(shè)置成 on-failure (只有當(dāng)容器退出代碼為非 0 時(shí)候 才會(huì)自動(dòng)重啟)

--restart=on-failture:5 //重啟次數(shù)參數(shù)
深入容器
sudo docker inspect jxbooks
刪除容器
sudo docker rm  容器名或id //注意運(yùn)行中的docker容器無(wú)法刪除,必須先docker stop 或者 docker kill 停止容器

刪除所有容器

docker rm `docker ps -a -q`
創(chuàng)建鏡像

查看這個(gè)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 root@118.24.153.55:/root/



這時(shí)候我們項(xiàng)目的根目錄下就有了一個(gè)docker的鏡像壓縮文件

導(dǎo)入docker鏡像并開發(fā)

在合作開發(fā)時(shí)候,我們拿到一個(gè)項(xiàng)目打包好的docker鏡像(原開發(fā)環(huán)境為ubuntu,我們這里拿到鏡像后 還用ubuntu做演示,實(shí)際開發(fā)時(shí)候,你可能是在windows 或者centos中拿到這個(gè)項(xiàng)目鏡像來(lái)開發(fā))
比如壓縮包名datascreen.tar
這里我用遠(yuǎn)程服務(wù)器演示下:

我們?cè)诟夸?b>/data文件夾中建一個(gè)docker文件夾,進(jìn)入文件夾,新建tmp文件夾 ,在docker同級(jí)目錄下新建 datascreen 文件夾 我們將把項(xiàng)目docker鏡像文件映射到這里

導(dǎo)入容器
sudo docker load < ${PATH}/datascreen.tar  //加載docker打包的鏡像 到本宿主機(jī)   
運(yùn)行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/ 映射到的宿主機(jī)上的目錄
/tmp/ {image id} /bin/bash 鏡像中的目錄

啟動(dòng)容器
sudo docker ps  //查看運(yùn)行中的容器
sudo docker start f1737f42f13b  //f1737f42f13b 是容器id
sudo docker exec -it f1737f42f13b /bin/bash
運(yùn)行data-screen
cd data-screen/
nohup ./auto-run.sh &


auto-run.sh腳本中的內(nèi)容,主要是啟動(dòng)mongod 和用node啟動(dòng)入口文件index.js (這個(gè)項(xiàng)目是一個(gè)nodejs的后臺(tái)項(xiàng)目)

停止docker 容器

(!危險(xiǎn)) 如果是運(yùn)行在應(yīng)用上的程序和服務(wù)的守護(hù)式容器 注意不要隨意停止

sudo docker ps
 sudo docker stop 

參考

Docker操作手冊(cè)
第一本docker書
[Docker — 從入門到實(shí)踐]()
Docker 入門教程
Docker 微服務(wù)教程
基于docker+gunicorn部署sanic項(xiàng)目
vue-cli3 項(xiàng)目從搭建優(yōu)化到docker部署

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27010.html

相關(guān)文章

  • Docker入門)用hello world入門docker

    摘要:初識(shí)是什么是一個(gè)開源的應(yīng)用容器引擎,基于語(yǔ)言并遵從協(xié)議開源。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口更重要的是容器性能開銷極低。命令為,如下由此可知,我們新打包的鏡像的為。登錄賬號(hào)再輸入自己的賬號(hào)密碼即可。 初識(shí)Docker Docker是什么? ??Docker 是一個(gè)開源的應(yīng)用容器引擎,基于?Go 語(yǔ)言并遵從Apache2.0協(xié)議開源。??Docker 可以讓開發(fā)者打包他們的...

    tolerious 評(píng)論0 收藏0
  • 這是docker 入門實(shí)踐

    摘要:前言其實(shí)接觸也有一段時(shí)間了,但是一直沒(méi)有做下總結(jié),現(xiàn)在網(wǎng)上關(guān)于的介紹也有很多了,本著好記性不如爛筆頭的原則,還是自己再記錄一波吧。實(shí)現(xiàn)目標(biāo)安裝探索基本概念及用法環(huán)境準(zhǔn)備位,內(nèi)核版本不低于安裝以下命令均需在權(quán)限下執(zhí)行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其實(shí)接觸 do...

    ashe 評(píng)論0 收藏0
  • Docker零基礎(chǔ)入門指南():Docker介紹

    摘要:原文地址零基礎(chǔ)入門指南一介紹簡(jiǎn)介源代碼托管在上,公司開源的一個(gè)基于技術(shù)之上構(gòu)建的容器引擎,基于語(yǔ)言并遵從協(xié)議開源。通過(guò)等實(shí)現(xiàn)內(nèi)核虛擬化技術(shù),并提供容器的資源隔離與安全保障等。 原文地址:Docker零基礎(chǔ)入門指南(一):Docker介紹 Docker簡(jiǎn)介 Docker源代碼托管在 GitHub上,Docker 公司開源的一個(gè)基于LXC技術(shù)之上構(gòu)建的Container容器引擎,基于Go...

    DevTTL 評(píng)論0 收藏0
  • Docker之旅——入門篇()

    摘要:常見問(wèn)題點(diǎn)擊之后提示錯(cuò)誤,我們點(diǎn)擊瀏覽選擇安裝目錄的下載鏡像很慢,參考提供的加速器文檔鏈接之旅使用搭建私服二其他參考非常詳細(xì)的學(xué)習(xí)筆記最佳實(shí)踐一命令詳解超全版本基于打造前端持續(xù)集成開發(fā)環(huán)境 Docker進(jìn)行感性認(rèn)知 Docker 最初的2小時(shí)(Docker從入門到入門).md 開啟Docker之旅 環(huán)境: win7, 64位 工具準(zhǔn)備: 1. 官網(wǎng)地址: https://get....

    JinB 評(píng)論0 收藏0
  • Docker之旅——入門篇()

    摘要:常見問(wèn)題點(diǎn)擊之后提示錯(cuò)誤,我們點(diǎn)擊瀏覽選擇安裝目錄的下載鏡像很慢,參考提供的加速器文檔鏈接之旅使用搭建私服二其他參考非常詳細(xì)的學(xué)習(xí)筆記最佳實(shí)踐一命令詳解超全版本基于打造前端持續(xù)集成開發(fā)環(huán)境 Docker進(jìn)行感性認(rèn)知 Docker 最初的2小時(shí)(Docker從入門到入門).md 開啟Docker之旅 環(huán)境: win7, 64位 工具準(zhǔn)備: 1. 官網(wǎng)地址: https://get....

    時(shí)飛 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<