雲計算核心技術Docker教程:Docker容器使用
2020年07月01日16:15

原標題:雲計算核心技術Docker教程:Docker容器使用

docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項。

可以通過命令 docker command --help 更深入的瞭解指定的 Docker 命令使用方法。

例如我們要查看 docker stats 指令的具體使用方法:

命令如下:

$ docker stats --help

如果我們本地沒有 ubuntu 鏡像,我們可以使用 docker pull 命令來載入 ubuntu 鏡像:

$ docker pull ubuntu

以下命令使用 ubuntu 鏡像啟動一個容器,參數為以命令行模式進入該容器:

$ docker run -it ubuntu /bin/bash -i: 交互式操作 。-t: 終端。

要退出客戶端程式,直接輸入 exit:

查看所有的容器命令如下:

$ docker ps -a

使用 docker start 啟動一個已停止的容器:

$ docker start

在大部分的場景下,我們希望 docker 的服務是在後台運行的,我們可以過 -d 指定容器的運行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

要停止一個容器運行使用如下命令:

$ docker stop

要重啟一個容器運行使用如下命令:

$ docker restart

在使用 -d 參數時,容器啟動後會進入後台。此時想要進入容器,可以通過以下指令進入:

docker attach

docker exec:推薦大家使用 docker exec 命令,因為此退出容器終端,不會導致容器的停止。

如果要導出本地某個容器,可以使用 docker export 命令。

$ docker export > ubuntu.tar

可以使用 docker import 從容器快照文件中再導入為鏡像,以下實例將快照文件 ubuntu.tar 導入到鏡像 test/ubuntu:v1命令如下:

$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1

刪除容器使用 docker rm 命令:

$ docker rm -f

可能出現的問題,如果Docker容器執行docker命令時出現:

”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“

這個報錯原因是因為docker進程使用Unix Socket而不是TCP端口。而預設情況下,Unix socket屬於root用戶,需要root權限才能訪問。

解決辦法:

1.使用sudo獲取管理員權限,運行docker命令。

2.docker守護進程啟動的時候,會預設賦予名字為docker的用戶組讀寫Unix socket的權限,因此只要創建docker用戶組,並將當前用戶加入到docker用戶組中,那麼當前用戶就有權限訪問Unix socket了,進而也就可以執行docker相關命令,命令如下:

sudo groupadd docker #添加docker用戶組

sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中

newgrp docker #更新用戶組

docker ps #測試docker命令是否可以使用sudo正常使用

相關閱讀:

雲計算核心技術Docker教程:在Centos中安裝Docker

雲計算的主流容器平台Docker架構分析

視頻精選
更多新聞