鏈接
Docker 使用教程
Docker Hub
鏡像加速器
Docker 問答錄(100 問)
Docker 中文文檔
CentOS安裝Docker
使用 yum 安裝
執(zhí)行以下命令安裝依賴包:
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
鑒于國內(nèi)網(wǎng)絡問題,強烈建議使用國內(nèi)源,官方源請在注釋中查看。
執(zhí)行下面的命令添加 yum 軟件源:
$ sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 官方源
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
如果需要測試版本的 Docker CE 請使用以下命令:
$ sudo yum-config-manager --enable docker-ce-test
如果需要每日構建版本的 Docker CE 請使用以下命令:
$ sudo yum-config-manager --enable docker-ce-nightly
安裝 Docker CE
更新 yum 軟件源緩存,并安裝 docker-ce。
$ sudo yum makecache fast
$ sudo yum install docker-ce
使用腳本自動安裝
在測試或開發(fā)環(huán)境中 Docker 官方為了簡化安裝流程,提供了一套便捷的安裝腳本,CentOS 系統(tǒng)上可以使用這套腳本安裝:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
執(zhí)行這個命令后,腳本就會自動的將一切準備工作做好,并且把 Docker CE 的 Edge 版本安裝在系統(tǒng)中。
啟動 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
建立 docker 用戶組
默認情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出于安全考慮,一般 Linux 系統(tǒng)上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。
建立 docker 組:
$ sudo groupadd docker
將當前用戶加入 docker 組:
$ sudo usermod -aG docker $USER
退出當前終端并重新登錄,進行測試。
鏡像加速
鑒于國內(nèi)網(wǎng)絡問題,后續(xù)拉取 Docker 鏡像十分緩慢,強烈建議安裝 Docker 之后配置 國內(nèi)鏡像加速。
常用命令
$ sudo service docker start 啟動Docker
鏡像操作
列出鏡像 $ docker image ls
鏡像體積 $ docker system df
刪除鏡像 $ docker image rm [選項] <鏡像1> [<鏡像2> ...]
容器操作
docker ps 查看正在運行的容器
docker ps -a 查看所有容器
docker cp myNginx:/etc/nginx/nginx.conf ./nginx.conf 復制容器中的文件到指定目錄
docker run創(chuàng)建并啟動
例如:
$ docker run -t -i ubuntu:14.04 /bin/bash
-t 選項讓Docker分配一個偽終端(pseudo-tty)并綁定到容器的標準輸入上, -i 則讓容器的標準輸入保持打開。
--rm:這個參數(shù)是說容器退出后隨之將其刪除。默認情況下,為了排障需求,退出的容器并不會立即刪除,除非手動 docker rm。我們這里只是隨便執(zhí)行個命令,看看結(jié)果,不需要排障和保留結(jié)果,因此使用 --rm 可以避免浪費空間。
ubuntu:16.04:這是指用 ubuntu:16.04 鏡像為基礎來啟動容器。
bash:放在鏡像名后的是命令,這里我們希望有個交互式 Shell,因此用的是 bash。
如果使用了 -d 參數(shù)運行容器,此時容器會在后臺運行并不會把輸出的結(jié)果 (STDOUT) 打印到宿主機上面(輸出結(jié)果可以用 docker logs 查看)。
注: 容器是否會長久運行,是和 docker run 指定的命令有關,和 -d 參數(shù)無關。
-p 則可以指定要映射的端口,并且,在一個指定端口上只可以綁定一個容器
-v 指定數(shù)據(jù)卷
docker container logs 容器ID 獲取容器的輸出信息
docker container stop 容器ID 終止一個運行中的容器
docker container ls -a 容器ID 查看所有容器
docker container start 容器ID 啟動終止態(tài)的容器
docker container restart 容器ID 重啟容器
docker attach 容器ID 進入容器,如果從這個 stdin 中 exit,會導致容器的停止。
docker exec -it 容器ID bash 進入容器,exit退出后不會導致容器關閉。
docker container rm 容器ID 刪除容器,-v 同時刪除數(shù)據(jù)卷
docker container prune 清楚所有處于終止態(tài)的容器
docker inspect web 查看數(shù)據(jù)卷的具體信息
docker volume prune 刪除無主數(shù)據(jù)卷
docker-compose安裝和卸載
例如,在 Linux 64 位系統(tǒng)上直接下載對應的二進制包。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo rm /usr/local/bin/docker-compose 卸載
設置容器開機啟動
1.創(chuàng)建新容器時設置
sudo docker run --restart=always .....
2.更新已有容器的設置 xxx為容器名
docker update --restart=always xxx
參考鏈接:
容器開機自動啟動
Docker update更新容器配置