【Docker】docker的介紹、安裝及使用教程

0.什麼是docker?

Docker是一個開源的引擎,可以輕鬆的爲任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、 bare metal、OpenStack 集羣和其他的基礎應用平臺。

Docker通常用於如下場景:
 web應用的自動化打包和發佈;
 自動化測試和持續集成、發佈;
 在服務型環境中部署和調整數據庫或其他的後臺應用;
 從頭編譯或者擴展現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。

上面兩段文字引用自參考文獻[1]。

1.安裝docker並查看狀態

1.1 docker安裝

在終端執行命令

curl -sSL https://get.daocloud.io/docker | sh

1.2 查看docker服務狀態

終端執行:

systemctl status docker

當顯示輸出:

Active: active (running)

表明已經啓動,否則則需要執行下面的命令來啓動:

systemctl start docker

2.製作自己的鏡像

2.1 從遠程倉庫拉取Ubuntu 18.04 LTS的鏡像

我們一般並不建議大家從頭進行所有的工作,大家可以Pull一個已經發布的功能相對完善的鏡像,在其基礎上進行我們自己的開發工作,這可以大大節約我們的開發時間。

由於docker默認的源爲國外官方源,下載速度較慢,可改爲國內,加速
修改或新增 /etc/docker/daemon.json, 終端執行:

sudo vim /etc/docker/daemon.json

修改或添加的內容爲:

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

保存後終端執行:

systemctl restart docker.service

而後,拉取鏡像(之所以選擇這個鏡像,是因爲可以使用這個鏡像結合VNC-Viewer方便的進行可視化顯示):

 sudo docker pull dorowu/ubuntu-desktop-lxde-vnc:bionic

拉取完成後,可以看到

Status: Downloaded newer image for dorowu/ubuntu-desktop-lxde-vnc:bionic
docker.io/dorowu/ubuntu-desktop-lxde-vnc:bionic

查看我們的docker鏡像,終端執行:

sudo docker images

此時輸出

fire@fire-P7xxTM1:~$ sudo docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
dorowu/ubuntu-desktop-lxde-vnc   bionic              16ac25e8daa0        9 months ago        1.06GB

2.2 創建容器

終端執行:

sudo docker run -dit --name=容器名 鏡像ID /bin/bash

查看當前所有的容器:

fire@fire-P7xxTM1:~$ sudo docker ps -a 
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                    PORTS               NAMES
8dacd0d37b89        16ac25e8daa0                     "/startup.sh /bin/ba…"   55 seconds ago      Up 54 seconds (healthy)   80/tcp              xtdrone_melodic

xtdrone_melodic就是我們上面命令所設置的榮啓銘,您可以根據自己的鏡像用途來進行命名,最好是有實際意義的名字。

2.3 容器的使用

方式1
啓動容器

sudo docker start  容器名

進入容器,這時可以在宿主機器上通過命令行來控制並使用docker容器

sudo docker exec -it 容器名  /bin/bash

我們可以使用VNC-viewer來使用GUI來操作容器

wget https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.19.107-Linux-x64
chmod +x VNC-Viewer-6.19.107-Linux-x64 
./VNC-Viewer-6.19.107-Linux-x64 

在VNC-Viewer中輸入地址如下進行連接,以可視化操作

127.0.0.1:5900

方式2
當然,也可以直接這樣來啓動一個容器來運行鏡像,不過這時,系統會隨機創建一個容器名:

sudo  docker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm 鏡像名

您也可以通過增加運行選項-e RESOLUTION=1920x1080來指定docker中的分辨率:

sudo  docker run -p 6080:80 -p 5900:5900 -e RESOLUTION=1920x1080  -v /dev/shm:/dev/shm 鏡像名

在VNC-Viewer中輸入地址如下進行連接,以可視化操作

127.0.0.1:5900

2.4 製作鏡像

方式1
製作自己的鏡像

sudo docker commit -m '鏡像描述' -a '作者' 容器名 目標鏡像名

這種方式製作的鏡像可以發佈到docker服務器上。
方式2
我們也可以將容器導出爲tar格式鏡像,可以很方便地在多臺計算機之間遷移。

 sudo docker  save  -o  目標鏡像名.tar 容器名稱

加載tar格式的鏡像

sudo docker load < 鏡像名.tar

3.docker常用命令

1.查看容器相關信息

sudo docker inspect  容器名

2.容器重命名

docker rename 原容器名 新容器名

3.刪除鏡像

sudo docker rmi 鏡像名

4.刪除容器

sudo docker rm 容器名

5.從宿主機器拷貝文件到docker容器

sudo docker cp 宿主機器路徑及文件 容器ID:容器存放路徑

6.push鏡像到docker 服務器

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname

4.參考文獻:

1.王春生, 什麼是Docker?
2.docker 製作自己的鏡像
3.如何在Linux上創建,列出和刪除Docker容器
4.Ubuntu如何安裝vncserver

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章