欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

什么是Docker? Docker入門教程

 更新時(shí)間:2017年03月21日 08:48:46   作者:wenjingyi  
本文主要涉及Docker的基礎(chǔ)知識(shí):Docker的概述、docker容器以及如何安裝使用Docker。希望大家能夠喜歡

 

概述

Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的  Linux 機(jī)器上,也可以實(shí)現(xiàn) 虛擬化 。

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

docker安裝

debian/ubuntu等系統(tǒng)可以直接下載deb進(jìn)行安裝

docker repo

sudo dpkg -i package-name.deb

其他平臺(tái)參照 docker官網(wǎng) docker hello world

安裝好docker之后,執(zhí)行下面語句確認(rèn)docker是否安裝成功

sudo docker info

如果docker沒有啟動(dòng),則執(zhí)行

sudo /etc/init.d/docker start
或
sudo service docker start

執(zhí)行下面的語句啟動(dòng)一個(gè)docker容器

sudo docker run -i -t ubuntu:14.04 /bin/bash

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

首次執(zhí)行這段代碼時(shí),docker會(huì)下載ubuntu:14.04對(duì)應(yīng)的鏡像。

docker鏡像和容器

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

鏡像:在某一操作系統(tǒng)(一般是linux)的基礎(chǔ)上,添加某個(gè)服務(wù)(如mysql服務(wù)),所構(gòu)成的一個(gè)處于靜態(tài)的系統(tǒng)鏡像,可以理解為某系統(tǒng)的iso鏡像文件。(我自己的理解[捂臉])

容器:根據(jù)鏡像安裝之后的狀態(tài)

sudo docker images

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

sudo docker pull redis:3

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

鏡像的自定義 創(chuàng)建一個(gè)安裝好redis服務(wù)器的鏡像

1 . 創(chuàng)建目錄和Dockerfile

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

3. 編寫Dockfile,Dockfile中的內(nèi)容如下

FROM ubuntu:14.04
MAINTAINER dkpaulwen "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"]

EXPOSE 6379

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

FROM ubuntu:14.04 : 表明我們所構(gòu)建的鏡像是基于ubuntu:14.04鏡像的 MAINTAINER name email : 構(gòu)建人的名字和郵箱 ADD path1 path2 : 將宿主機(jī)中的path1文件/目錄 復(fù)制到 docker中 RUN ["command","option",...] : 表示執(zhí)行command命令 , 也可以寫作 RUN command option parameter 這樣的形式。上面執(zhí)行的兩個(gè)語句更新了源,安裝了redis EXPOSE 6379 : 表示docker機(jī)會(huì)將6379端口暴露給宿主機(jī),可以將宿主機(jī)的某個(gè)端口與這個(gè)端口連接,這樣就可以在外部使用這個(gè)容器中運(yùn)行的應(yīng)用 CMD ["command","option",...] : 表示啟動(dòng)容器時(shí)若不指定執(zhí)行的命令,就執(zhí)行這個(gè)命令指定的命令

4 . 構(gòu)建鏡像

在redis目錄下執(zhí)行命令

sudo docker build -t dkpaulwen/redis .

-t 選項(xiàng)用來告訴docker daemon要構(gòu)建的鏡像的倉庫名和鏡像名為dkpaulwen/redis,其中dkpaulwen為倉庫名,redis為鏡像名

sudo docker images

查看鏡像

root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# docker images
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE
dkpaulwen/redis  latest    eb4b76ccb49c  18 minutes ago  213.4 MB

5. 用自定義的鏡像創(chuàng)建容器

執(zhí)行下面的命令

sudo docker run -d -p 6379 --name myredis dkpaulwen/redis

-d 選項(xiàng)告訴docker以后臺(tái)的形式啟動(dòng)容器 -p 6379 告訴docker將docker機(jī)的6379端口與宿主機(jī)的隨機(jī)端口(隨機(jī)分配一個(gè)大端口號(hào))相關(guān)聯(lián),也可以這樣 -p 6666:6379,前者是宿主機(jī),后者docker機(jī) --name myredis 指定容器名 dkpaulwen/redis 是鏡像名 這里沒有指定要執(zhí)行的命令,默認(rèn)執(zhí)行Dockerfile中的CMD指定的命令

6. 查看創(chuàng)建的docker容器

docker ps 命令

root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# docker ps
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS      NAMES
3e1366140973  dkpaulwen/redis  "/usr/bin/redis-serve" 23 minutes ago  Up 23 minutes  0.0.0.0:32788->6379/tcp myredis

這里包含容器的一些屬性,其中一個(gè)是ports——端口,可以看到,0.0.0.0:32788 -> 6379/tcp ,32788是宿主機(jī)端口,6379是被關(guān)聯(lián)的docker容器端口,類型是tcp

7. 連接這個(gè)容器

redis-cli -h localhost -p 32788
root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# redis-cli -h localhost -p 32788
localhost:32788> get username
"glen"
localhost:32788>

因?yàn)槲以谖业姆?wù)器上安裝的docker,所以我也可以在自己的電腦上連接服務(wù)器上的docker容器

paul@paul-Inspiron-5420:~$ redis-cli -h www.wenjingyi.top -p 32788
www.wenjingyi.top:32788> get username
"glen"
www.wenjingyi.top:32788>

相關(guān)文章

  • Docker?compose部署minio服務(wù)

    Docker?compose部署minio服務(wù)

    這篇文章主要介紹了Docker?compose部署minio服務(wù),minio的作用就是用來存儲(chǔ)文件的,比如圖片、視頻、音頻等各種類型的文件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • Docker探索namespace詳解

    Docker探索namespace詳解

    以前對(duì)docker中的namespace了解甚少,今天在網(wǎng)上查閱相關(guān)文章,發(fā)現(xiàn)這篇還不錯(cuò),介紹了namespace資源隔離以及進(jìn)行namespace api操作的四種方式等內(nèi)容,這里分享給大家,供參考。
    2017-10-10
  • 在Ubuntu15.04上安裝Docker的步驟以及基本用法

    在Ubuntu15.04上安裝Docker的步驟以及基本用法

    Docker是一種輕量型的的類虛擬機(jī)的平臺(tái),在開發(fā)項(xiàng)目上還是很有優(yōu)勢(shì)的,這僅是我的一種直觀理解。所以這篇文章主要給大家介紹了在Ubuntu15.04上安裝Docker的步驟以及基本用法,有需要的朋友們可以參考借鑒。
    2016-10-10
  • Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    數(shù)據(jù)卷有兩種形式,一種是容器中的某個(gè)目錄,它可以被別的容器引用,只要有一個(gè)容器引用了這個(gè)數(shù)據(jù)卷,數(shù)據(jù)就不會(huì)被刪除;另一種數(shù)據(jù)卷是將容器中的數(shù)據(jù)卷和宿主機(jī)的目錄進(jìn)行掛載。 數(shù)據(jù)卷可以在多個(gè)容器之間共享,修改數(shù)據(jù)卷不會(huì)影響鏡像
    2021-07-07
  • 基于Docker如何實(shí)現(xiàn)MySQL主從復(fù)制詳解

    基于Docker如何實(shí)現(xiàn)MySQL主從復(fù)制詳解

    這篇文章主要給大家介紹了關(guān)于基于Docker如何實(shí)現(xiàn)MySQL主從復(fù)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程

    Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程

    這篇文章主要介紹了Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接的教程,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下
    2020-09-09
  • docker redis5.0 cluster集群搭建的實(shí)現(xiàn)

    docker redis5.0 cluster集群搭建的實(shí)現(xiàn)

    這篇文章主要介紹了docker redis5.0 cluster集群搭建的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問題解決

    Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: 

    這篇文章主要介紹了Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 一篇文章學(xué)會(huì)Docker命令小結(jié)

    一篇文章學(xué)會(huì)Docker命令小結(jié)

    這篇文章主要介紹了一篇文章學(xué)會(huì)Docker命令小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • jenkins中通過Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說明

    jenkins中通過Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說明

    今天小編就為大家分享一篇關(guān)于jenkins中通過Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說明,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評(píng)論