1.docker的安裝
1.1 前提條件
Docker 運行在 CentOS 7 上,要求系統為64位、系統內核版本為 3.10 以上。
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統為64位、系統內核版本為 2.6.32-431 或者更高版本。
Docker 要求 CentOS 系統的內核版本高於 3.10 ,通過 uname -r 命令查看你當前的內核版本 ,來驗證你的CentOS 版本是否支持 Docker 。
[root@MiWiFi-R3-srv ~]# uname -r
1.2 使用yum安裝
Docker 軟件包和依賴包已經包含在默認的 CentOS-Extras 軟件源里;
[root@MiWiFi-R3-srv ~]# yum install docker -y
1.3 啟動docker
[root@MiWiFi-R3-srv ~]# service docker start
1.4 測試運行 hello-world
[root@MiWiFi-R3-srv ~]# docker run hello-world
2.docker的常用命令
2.1 從阿里的Docker Hub查找鏡像
[root@MiWiFi-R3-srv ~]# docker search centos
–automated :只列出 automated build類型的鏡像;
–no-trunc :顯示完整的鏡像描述;
-s :列出收藏數不小於指定值的鏡像。
2.2 拉取鏡像 docker pull <鏡像名:tag>
[root@MiWiFi-R3-srv ~]# docker pull docker.io/ansible/centos7-ansible:latest
:latest : 表示最新版
2.3 列出本地鏡像
[root@MiWiFi-R3-srv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ansible/centos7-ansible latest 688353a31fde 10 months ago 447.2 MB
-a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
–digests :顯示鏡像的摘要信息;
-f :顯示滿足條件的鏡像;
–format :指定返回值的模板文件;
–no-trunc :顯示完整的鏡像信息;
-q :只顯示鏡像ID。
2.4 創建一個新的容器並運行一個命令
[root@MiWiFi-R3-srv ~]# docker run --name centos-nginx01 -d 688353a31fde
-a stdin: 指定標准輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 后台運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
–name=”nginx-lb”: 為容器指定一個名稱;
–dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=”ritchie”: 設置環境變量;
–env-file=[]: 從指定文件讀入環境變量;
–cpuset=”0-2” or –cpuset=”0,1,2”: 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
–net=”bridge”: 指定容器的網絡連接類型,支持 bridge/host/none/container: 四種類型;
–link=[]: 添加鏈接到另一個容器;
–expose=[]: 開放一個端口或一組端口;
-p 80:80 : 將容器的80端口映射到主機的80端口;
-P : 將容器的80端口映射到主機隨機端口;
-v /data:/data : 主機的目錄/data映射到容器的/data;
2.5 列出容器
[root@MiWiFi-R3-srv ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1e1f780dcc7 688353a31fde "/bin/bash" 8 minutes ago Exited (0) 8 minutes ago centos-nginx01
-a :顯示所有的容器,包括未運行的。
-f :根據條件過濾顯示的內容。
–format :指定返回值的模板文件。
-l :顯示最近創建的容器。
-n :列出最近創建的n個容器。
–no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。
-s :顯示總的文件大小。
2.6 從容器創建一個新的鏡像->保存對容器的修改
將容器e1e1f780dcc7 保存為新的鏡像,並添加提交人信息和說明信息。
[root@MiWiFi-R3-srv ~]# docker commit -a "luxiaofeng" -m "test-images" e1e1f780dcc7 mycentos7:v1
-a :提交的鏡像作者;
-c :使用Dockerfile指令來創建鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
2.7 獲取容器/鏡像的元數據
[root@MiWiFi-R3-srv ~]# docker inspect 688353a31fde
-f :指定返回值的模板文件。
-s :顯示總的文件大小。
–type :為指定類型返回JSON。
2.8 獲取正在運行的容器的 IP
[root@MiWiFi-R3-srv ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
2.9 start/stop/restart 命令
docker start :啟動一個或多少已經被停止的容器
docker stop :停止一個運行中的容器
docker restart :重啟容器
2.10 刪除一個或多少容器
[root@MiWiFi-R3-srv ~]# docker rm -f e1e1f780dcc7
-f :通過SIGKILL信號強制刪除一個運行中的容器
-l :移除容器間的網絡連接,而非容器本身
-v :-v 刪除與容器關聯的卷
2.11 刪除本地一個或多少鏡像
[root@MiWiFi-R3-srv ~]# docker rmi -f 688353a31fde
-f :強制刪除;
–no-prune :不移除該鏡像的過程鏡像,默認移除;
2.12 docker開機啟動:
systemctl enable docker
2.13 容器開機啟動:
docker run --restart=always --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:latest
–restart :參數來設置容器開機啟動。
no-container:不重啟
on-failure-container:退出狀態非0時重啟
always:始終重啟
至此,整個docker的安裝使用已完成啦!
如果您喜歡這篇文章就請關注我的博客和朋友一起分享吧!
關注我: ☛ http://blog.csdn.net/yougoule