Docker的簡要概述及簡單使用

2021-07-23 21:41:49 字數 2038 閱讀 8300

在網上可以找到很多關於docker的描述以及定義(當然還有使用方法),但基本都是千篇一律的,我在使用了一段時間後也對docker有了一定的了解和認識,下面就以個人的理解對docker也做一些描述。

希望不會太糟糕。

docker就是為解決這些問題而產生的(當然遠不止這些),它使重複的工作簡單化。可以把docker看成是執行在宿主機上的諸多虛擬機器,但比虛擬機器要輕量級得多。

我最開始接觸docker的時候非常迷茫,感覺這東西深不可測,一頭霧水,後來經一朋友推薦看 《第一本docker書》,看了之後才發現其實docker並沒有想象中的複雜,它僅只是乙個容器工具,只要理解下面幾個概念就清楚其工作原理了。

容器:docker執行出來的每乙個例項都是乙個容器,乙個容器可以理解成乙個輕量級虛擬機器,在這個容器裡可以執行任何**(不過建議乙個容器只幹一件事情),比如執行乙個mysql的資料庫容器,或執行乙個tomcat的web容器。

映象

使用命令docker pull拉取乙個映象,如:

docker pull mysql:latest

解釋:docker pull mysql:lastest表示拉取乙個mysql的映象,:latest是指要拉取的映象的標籤,一般指版本號,latest一般指最終版本,不過latest可以省略,即上述命令可修改為:docker pull mysql,只有在需要指定具體標籤時才會使用:標籤號

使用命令docker run可以啟動乙個容器,如:

docker run -d -e mysql_root_password=123456 -p 3316:3306 --name=mysqldb mysql

解釋:

-d:表示後台執行

-e:設定引數

-e mysql_root_password: 表示設定mysql資料庫root使用者的密碼,這裡初始的密碼設定為123456

-p: 指定埠號,這裡將宿主機3316埠指向mysql容器的3306埠

--name: 設定該容器的別名,這裡設定為mysqldb,這個名稱可以供其他容器使用

mysql: 具體的映象,同理後面可以跟上相應的標籤號,如:mysql:latest

執行docker run命令的執行流程是:

先在本地倉庫中查詢映象,若找到則通過該映象啟動乙個容器;

如果沒有在本地倉庫中找到映象則去遠端倉庫中查詢,預設的遠端倉庫是

使用命令docker ps可以檢視正在執行的容器,使用命令docker ps -a檢視所有容器(包括執行中的和已經停止的),更多引數可使用命令docker ps --help檢視。

[root@gzcloudlc6x-1041 ~]# docker ps

container id image command created status ports names

13e2dab0b3ae mysql "docker-entrypoint.s 13 minutes ago up 13 minutes 0.0.0.0:3316->3306/tcp mysqldb

也可以通過docker ps來檢視容器的一些基本資訊,如:容器id、對應映象、命令資訊、建立日期、狀態資訊、埠對映、容器名稱。

jQuery事件繫結 on 簡要概述及應用

前幾天在看 jquery基礎教程 看到事件委託的時候,關於live 方法講的不是很詳細,就去搜了一下關於live 和delegate 的。然後在一處看到live 已經被移除了,囧,然後去看了最新的jq原始碼,果然被移除了,現在是1.9.1版本,不知道live 是在之前哪個版本被移除的,慚愧啊,之前都...

jQuery事件繫結 on 簡要概述及應用

前幾天看到事件委託的時候,關於live 方法講的不是很詳細,就去搜了一下關於live 和delegate 的,最後看原始碼發現bind 和delegate 都是由on 實現的,感興趣的朋友可以了解下,或許本文對你有所幫助 前幾天在看 jquery基礎教程 看到事件委託的時候,關於live 方法講的不...

jQuery事件繫結 on 簡要概述及應用

前幾天看到事件委託的時候,關於live 方法講的不是很詳細,就去搜了一下關於live 和delegate 的,最後看原始碼發現bind 和delegate 都是由on 實現的,感興趣的朋友可以了解下,或許本文對你有所幫助 前幾天在看 jquery基礎教程 看到事件委託的時候,關於live 方法講的不...