日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Docker是什么及怎么使用

發布時間:2023/12/15 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 Docker是什么及怎么使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了Docker是什么及怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Docker是什么及怎么使用文章都會有所收獲,下面我們一起來看看吧。

概述

docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 linux 機器上,也可以實現 虛擬化 。

docker的配圖很形象。一只鯨魚(容器)上面裝載著貨物(應用)。

docker安裝

debian/ubuntu等系統可以直接下載deb進行安裝

sudodpkg-ipackage-name.deb

安裝好docker之后,執行下面語句確認docker是否安裝成功

sudodockerinfo

如果docker沒有啟動,則執行

sudo/etc/init.d/dockerstart
或
sudoservicedockerstart

執行下面的語句啟動一個docker容器

sudodockerrun-i-tubuntu:14.04/bin/bash

docker run ,運行容器的命令 -i -t , 執行docker以交互(將執行的過程顯示到shell中)的形式啟動容器 ubuntu:14.04 , ubuntu表示鏡像名,14.04表示鏡像的標簽 /bin/bash , 表示要讓啟動的容器執行/bin/bash語句

首次執行這段代碼時,docker會下載ubuntu:14.04對應的鏡像。

docker鏡像和容器

鏡像和容器,是docker中最最重要的兩個概念。

鏡像:在某一操作系統(一般是linux)的基礎上,添加某個服務(如mysql服務),所構成的一個處于靜態的系統鏡像,可以理解為某系統的iso鏡像文件。(我自己的理解[捂臉])

容器:根據鏡像安裝之后的狀態

sudodockerimages

上面語句列出本電腦(宿主機)上的鏡像

sudodockerpullredis:3

上面語句可以從docker官方hub中獲取一個鏡像名為redis且標簽為3的鏡像。看它的名字可以知道是安裝了redis 3 版本的鏡像

鏡像的自定義 創建一個安裝好redis服務器的鏡像

1 . 創建目錄和dockerfile

2. 下載163的源文件到redis文件夾下,和dockfile同一目錄下(由于ubuntu原來的軟件源賊慢,所以將其替換)

3. 編寫dockfile,dockfile中的內容如下

fromubuntu:14.04
maintainerdkpaulwen"wen229267643@gmail.com"

add$pwd/sources.list.trusty/etc/apt/sources.list
run["apt-get","-y","update"]
run["apt-get","-y","install","redis-server","redis-tools"]

expose6379

cmd["/usr/bin/redis-server"]

from ubuntu:14.04 : 表明我們所構建的鏡像是基于ubuntu:14.04鏡像的 maintainer name email : 構建人的名字和郵箱 add path1 path2 : 將宿主機中的path1文件/目錄 復制到 docker中 run ["command","option",...] :表示執行command命令 , 也可以寫作 run command option parameter 這樣的形式。上面執行的兩個語句更新了源,安裝了redis expose 6379 : 表示docker機會將6379端口暴露給宿主機,可以將宿主機的某個端口與這個端口連接,這樣就可以在外部使用這個容器中運行的應用 cmd ["command","option",...] : 表示啟動容器時若不指定執行的命令,就執行這個命令指定的命令

4 . 構建鏡像

在redis目錄下執行命令

sudodockerbuild-tdkpaulwen/redis.

-t 選項用來告訴docker daemon要構建的鏡像的倉庫名和鏡像名為dkpaulwen/redis,其中dkpaulwen為倉庫名,redis為鏡像名

sudodockerimages

查看鏡像

root@izm5ejdk51ejf0nkzwz3koz:~/dockers/redis#dockerimages
repositorytagimageidcreatedvirtualsize
dkpaulwen/redislatesteb4b76ccb49c18minutesago213.4mb

5. 用自定義的鏡像創建容器

執行下面的命令

sudodockerrun-d-p6379--namemyredisdkpaulwen/redis

-d 選項告訴docker以后臺的形式啟動容器 -p 6379 告訴docker將docker機的6379端口與宿主機的隨機端口(隨機分配一個大端口號)相關聯,也可以這樣 -p 6666:6379,前者是宿主機,后者docker機 --name myredis 指定容器名 dkpaulwen/redis 是鏡像名 這里沒有指定要執行的命令,默認執行dockerfile中的cmd指定的命令

6. 查看創建的docker容器

docker ps 命令

root@izm5ejdk51ejf0nkzwz3koz:~/dockers/redis#dockerps
containeridimagecommandcreatedstatusportsnames
3e1366140973dkpaulwen/redis"/usr/bin/redis-serve"23minutesagoup23minutes0.0.0.0:32788->6379/tcpmyredis

這里包含容器的一些屬性,其中一個是ports——端口,可以看到,0.0.0.0:32788 -> 6379/tcp ,32788是宿主機端口,6379是被關聯的docker容器端口,類型是tcp

7. 連接這個容器

redis-cli-hlocalhost-p32788
root@izm5ejdk51ejf0nkzwz3koz:~/dockers/redis#redis-cli-hlocalhost-p32788
localhost:32788>getusername
"glen"
localhost:32788>

因為我在我的服務器上安裝的docker,所以我也可以在自己的電腦上連接服務器上的docker容器

paul@paul-inspiron-5420:~$redis-cli-hwww.wenjingyi.top-p32788
www.wenjingyi.top:32788>getusername
"glen"
www.wenjingyi.top:32788>

總結

以上是生活随笔為你收集整理的Docker是什么及怎么使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。