云計(jì)算核心技術(shù)Docker教程:Docker容器使用
docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項(xiàng)。
可以通過命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。
例如我們要查看 docker stats 指令的具體使用方法:
命令如下:
$ docker stats --help
如果我們本地沒有 ubuntu 鏡像,我們可以使用 docker pull 命令來載入 ubuntu 鏡像:
$ docker pull ubuntu
以下命令使用 ubuntu 鏡像啟動(dòng)一個(gè)容器,參數(shù)為以命令行模式進(jìn)入該容器:
$ docker run -it ubuntu /bin/bash -i: 交互式操作 。-t: 終端。
要退出客戶端程序,直接輸入 exit:
查看所有的容器命令如下:
$ docker ps -a
使用 docker start 啟動(dòng)一個(gè)已停止的容器:
$ docker start <容器 ID>
在大部分的場景下,我們希望 docker 的服務(wù)是在后臺(tái)運(yùn)行的,我們可以過 -d 指定容器的運(yùn)行模式。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
要停止一個(gè)容器運(yùn)行使用如下命令:
$ docker stop <容器 ID>
要重啟一個(gè)容器運(yùn)行使用如下命令:
$ docker restart <容器 ID>
在使用 -d 參數(shù)時(shí),容器啟動(dòng)后會(huì)進(jìn)入后臺(tái)。此時(shí)想要進(jìn)入容器,可以通過以下指令進(jìn)入:
docker attach
docker exec:推薦大家使用 docker exec 命令,因?yàn)榇送顺鋈萜鹘K端,不會(huì)導(dǎo)致容器的停止。
如果要導(dǎo)出本地某個(gè)容器,可以使用 docker export 命令。
$ docker export <容器 ID> > ubuntu.tar
可以使用 docker import 從容器快照文件中再導(dǎo)入為鏡像,以下實(shí)例將快照文件 ubuntu.tar 導(dǎo)入到鏡像 test/ubuntu:v1命令如下:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
刪除容器使用 docker rm 命令:
$ docker rm -f <容器 ID>
可能出現(xiàn)的問題,如果Docker容器執(zhí)行docker命令時(shí)出現(xiàn):
”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“
這個(gè)報(bào)錯(cuò)原因是因?yàn)閐ocker進(jìn)程使用Unix Socket而不是TCP端口。而默認(rèn)情況下,Unix socket屬于root用戶,需要root權(quán)限才能訪問。
解決辦法:
1.使用sudo獲取管理員權(quán)限,運(yùn)行docker命令。
2.docker守護(hù)進(jìn)程啟動(dòng)的時(shí)候,會(huì)默認(rèn)賦予名字為docker的用戶組讀寫Unix socket的權(quán)限,因此只要?jiǎng)?chuàng)建docker用戶組,并將當(dāng)前用戶加入到docker用戶組中,那么當(dāng)前用戶就有權(quán)限訪問Unix socket了,進(jìn)而也就可以執(zhí)行docker相關(guān)命令,命令如下:
sudo groupadd docker #添加docker用戶組
sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中
newgrp docker #更新用戶組
docker ps #測試docker命令是否可以使用sudo正常使用
相關(guān)閱讀:
云計(jì)算核心技術(shù)Docker教程:在Centos中安裝Docker
云計(jì)算的主流容器平臺(tái)Docker架構(gòu)分析