1. 程式人生 > >docker安裝與應用

docker安裝與應用

一.docker簡介
VM是一個執行在宿主機之上的完整的作業系統,VM執行自身作業系統會佔用較多的CPU、記憶體、硬碟資源。Docker不同於VM,只包含應用程式以及依賴庫,基於libcontainer執行在宿主機上,並處於一個隔離的環境中,這使得Docker更加輕量高效,啟動容器只需幾秒鐘之內完成。由於Docker輕量、資源佔用少,使得Docker可以輕易的應用到構建標準化的應用中。
二.docker相關概念

  • Docker daemon: 執行在宿主機上,Docker守護程序,使用者通過Docker client(Docker命令)與Docker daemon互動
  • Docker client:
    Docker 命令列工具,是使用者使用Docker的主要方式,Docker client與Docker daemon通訊並將結果返回給使用者,Docker client也可以通過socket或者RESTful api訪問遠端的Docker daemon
    在這裡插入圖片描述- Docker image:映象是隻讀的,映象中包含有需要執行的檔案。映象用來建立container,一個映象可以執行多個container;映象可以通過Dockerfile建立,也可以從Docker hub/registry上下載。
  • Docker container:容器是Docker的執行元件,啟動一個映象就是一個容器,容器是一個隔離環境,多個容器之間不會相互影響,保證容器中的程式執行在一個相對安全的環境中。
  • Docker hub/registry: 共享和管理Docker映象,使用者可以上傳或者下載上面的映象,官方地址為https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。
    三.ubuntu下docker
    1.檢視版本和儲存驅動檔案是否存在
ls -l /sys/class/misc/device-mapper

2.curl安裝docker

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

3.檢視版本號

docker version

4.使用非root賬戶使用者組

sudo groupadd docker
sudo gpasswd a ${USER} docker
suod service docker restart

5.輸出hello world

docker run ubuntu echo 'Hello World' 

四.docker命令
1.檢視版本

 docker version

2.搜尋映象

docker search tutorial

在這裡插入圖片描述
3.下載映象

docker pull learn/tutorial

4.執行映象

docker run learn/tutorial echo 'hello world'

5.容器中安裝ping命令

docker run lean/tutorial apt-get install -y ping

6.檢視docker內正在執行的映象

docker ps -l

在這裡插入圖片描述7.從容器建立一個新的映象,返回一個唯一編碼

docker commit a5c0153795a8 learn/ping

8.執行命令

docker run learn/ping ping www.baidu.com

9.獲取容器/映象的元資料

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

10.檢視docker儲存了哪些映象

docker images

11.將映象儲存到倉庫中

docker push learn/ping

12.殺死所有running狀態的容器

docker kill $(docker ps -q)

13.刪除所有已經停止的容器

docker rm $(docker ps -a -q)

五.在容器中部署靜態網站
1.埠對映

sudo docker run -p 80 --name web -i -t ubuntu /bin/bash

2.安裝nginx

apt-get install -y nginx

注:如果出錯則更新源

apt-get update

3.安裝vim

apt-get install -y vim

4.設定存放網站的目錄

mkdir -p /var/www/html
cd /var/www/html

建立靜態頁面

vim index.html

5.檢視並配置nginx

whereis nginx
cd /etc/nginx/sites-enabled
vim default

將root值修改為剛剛建立網站的地址,根目錄下執行nginx

nginx

容器中檢視當前程序

ps -ef

ctrl+P+Q退出,使容器保持在後臺一直執行
6.檢視網站內容
檢視埠對映

sudo docker port web

檢視容器中程序執行情況

sudo docker top web

檢視網站

curl http://127.0.0.1:32768

可在瀏覽器中中直接登入,也可用容器的ip地址訪問

docker inspect web

停掉程序

docker stop web

重啟容器

sudo docker start -i web

ps -ef檢視程序並沒有啟動nginx,ctrl+p+q退出,用exec命令啟動nginx

sudo docker exec web nginx

注意:重啟一個容器時原來的ip地址和對映都會發生改變,用docker inspect web 檢視。
七.檢視和刪除映象
1.檢視映象的儲存地址(/var/lib/docker)

sudo docker info

2.列出映象

docker images -a

第一列,映象所屬倉庫名
3.刪除映象

docker rmi [id]

注:可刪除多個映象

八.從本地下載映象並上傳到伺服器
1.找到映象版本號
在這裡插入圖片描述
2.將映象儲存到本地

docker save 映象ID> /home/name.tar

在這裡插入圖片描述
3.上傳到雲平臺後用 docker load < name.tar 安裝
在這裡插入圖片描述
4.再用docker tag修改下名字
在這裡插入圖片描述