1. 程式人生 > >Docker極簡教程【初識】

Docker極簡教程【初識】

開頭安利一個Java方向的學習群:歡迎加入 Java知音三千人的社群:696209224

Docker 是一個開源的應用容器引擎,基於 Go 語言] 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。Docker 使用客戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。

Docker有免費的CE社群版和收費的EE企業版,本文安裝的是CE版本。

1. Docker安裝

1.1 檢查

Docker 要求 CentOS 系統的核心版本高於 3.10 ,可以通過 uname -r 命令檢視你當前的核心版本。

Docker極簡教程【初識】

 


如果CentOS版本是7以上並且為64位,那是完全沒用問題的。

1.2 安裝

安裝一些必要系統工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

新增軟體源資訊:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 快取:

sudo yum makecache fast

安裝 Docker-ce:

sudo yum -y install docker-ce

啟動 Docker 後臺服務

sudo systemctl start docker

測試執行 hello-world

docker run hello-world

 

Docker極簡教程【初識】

由於本地沒有hello-world這個映象,所以會下載一個hello-world的映象,並在容器內執行。

1.3 映象加速

例如在使用Maven時我們一般會配置阿里雲國內映象加速,在使用Docker時也是如此。我使用的是網易的映象地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%dockerconfigdaemon.json(Windows) 來配置 Daemon。

請在該配置檔案中加入(沒有該檔案的話,請先建一個):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

1.4 解除安裝Docker

執行以下命令來刪除 Docker CE:

$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker

2. 實戰Nginx

2.1 查詢Docker Hub上的 nginx 映象

docker search nginx

 

Docker極簡教程【初識】

2.2 拉取官方映象

docker pull nginx

2.3 拉取成功檢視本地映象

docker images nginx

 

Docker極簡教程【初識】

 

2.4 啟動Nginx伺服器

docker run -p 8080:80 -d nginx

 

  • -p 8080:80:將本機8080埠對映到Nginx容器的80埠

  • -d:後臺啟動

2.5 檢視Docker當前執行

docker ps

 

Docker極簡教程【初識】

2.6 訪問測試

Docker極簡教程【初識】

2.7 拷貝本地檔案到容器內

把當前目錄下的index.html檔案拷貝到容器內,替換Nginx的預設首頁。

docker cp index.html dbfc48660aeb://usr/share/nginx/html

dbfc48660aeb是容器內Nginx執行的ID,/usr/share/nginx/html是容器內Nginx的首頁預設路徑。

Docker極簡教程【初識】

再次訪問瀏覽器,可以看到首頁已經更換為我們自定義的檔案內容。

Docker極簡教程【初識】

2.8 停止Docker容器

docker stop ID

 

Docker極簡教程【初識】

重新整理瀏覽器,訪問提示無法連線。

2.9 儲存容器內更改

再次執行Nginx容器,訪問首頁,發現更改的首頁又復原了。如圖:

Docker極簡教程【初識】

這是因為在更改後沒有提交儲存導致的。也就是需要下面這句命令:

docker commit -m 'fun' aaef9a68525a nginx-fun

 

  • -a ' author':作者名

  • -m 'fun':是說明文字;

  • aaef9a68525a:容器ID,通過ps命令獲取;

  • nginx-fun:新生成的image映象名稱;

然後檢視現有映象:

Docker極簡教程【初識】

發現新生成了一個nginx-fun映象。

2.10 刪除容器

雖然有些容器已經停止了,但是還存有資訊,可以通過docker ps -a檢視,再通過docker rm [CONTAINER ID]刪除。

Docker極簡教程【初識】

3. 命令小結

Docker極簡教程【初識】

以上為本文的全部內容!

 

關注後端技術精選,每天推送優質好文

Docker極簡教程【初識】