docker的基本命令(映象,容器)
幫助命令:
docker version:檢視docker的版本
docker info:檢視docker的系統資訊,包括映象個容器數量
docker 命令 --help:萬能命令
官網幫助文件的地址:https://docs.docker.com/reference/
映象命令:
1,docker images:檢視本機上所有的映象
[root@CentOs ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 5 months ago 13.3kB
解釋:
REPOSITORY:映象的倉庫源
TAG :映象的標籤
IMAGE ID :映象的id
CREATED :映象的建立時間
SIZE:映象的大小
可選項:
Options:
-a, --all Show all images (列出所有的映象)
-q, --quiet Only show image IDs(只顯示映象的id)
2,docker search 搜尋映象
[root@CentOs ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12268 [OK]
mariadb MariaDB Server is a high performing open sou… 4718 [OK]
可選項:
Options:
--filter filter Filter output based on conditions provided
如:--filter=STARS=3000:搜尋出現的映象就是STARS大於3000的
例如:
[root@CentOs ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12268 [OK]
mariadb MariaDB Server is a high performing open sou… 4718 [OK]
3,docker pull :下載映象
[root@CentOs ~]# docker pull mysql
指定版本下載:
[root@CentOs ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
刪除映象:
docker rmi -f 映象id : 刪除指定的映象
docker rmi -f 映象id 映象id 映象id: 刪除多個映象
docker rmi -f $(docker images -a) :遞迴刪除全部的映象
容器命令
說明:我們有了映象才可以建立容器,下載一個CentOS映象倆測試學習
docker pull centos
1,新建容器並啟動:
docker run [可選引數] image
引數說明:
--name="Name" 容器埠 如:tomcat01 tomcat02,用來區分容器
-d 後臺方式執行
-it 使用互動方式執行,進入容器檢視內容
-p(小寫) 指定容器埠
-p ip:主機埠:容器埠
-p 主機埠:容器埠(常用)
-p 容器埠
容器埠
-P(大寫) 隨機指定埠
測試:
(1)啟動並進入容器:
[root@CentOs ~]# docker run -it centos /bin/bash
[root@77f36d0b8111 /]#
(2)檢視容器內的centos,這個基礎版本,很多命令都是不完善的
[root@77f36d0b8111 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
(3)從當前容器退回主機(容器停止並退出)
[root@77f36d0b8111 /]# exit
exit
[root@CentOs ~]# ls
容器不停止退出:Ctrl +p + q
[root@CentOs /]# docker run -it centos /bin/bash
[root@8d6fcd9da0b3 /]# [root@CentOs /]#
(4)列出所有執行的容器
docker ps 列出當前執行的容器
-a 列出當前執行的容器和歷史執行過的容器
-n=? 顯示最近建立的容器
-q 只顯示容器的編號
[root@CentOs /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@CentOs /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77f36d0b8111 centos "/bin/bash" 6 minutes ago Exited (0) 2 minutes ago gallant_volhard
c8bcfba8893c feb5d9fea6a5 "/hello" 17 hours ago Exited (0) 17 hours ago blissful_shannon
[root@CentOs /]# docker ps -n=1
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77f36d0b8111 centos "/bin/bash" 15 minutes ago Exited (0) 11 minutes ago gallant_volhard
[root@CentOs /]# docker ps -aq
77f36d0b8111
c8bcfba8893c
2,刪除容器
docker rm 容器id 刪除指定的容器,不能刪除正在執行的容器,rm -rf 強制刪除
docker rm -f $(docker ps -aq) 刪除所有的容器
docker ps -a -q | xargs docker rm 刪除所有的容器
3,啟動和刪除容器的操作
docker start 容器id 啟動容器
docker restart 容器id 重啟容器
docker stop 容器id 停止當前正在執行的容器
docker kill 容器id 強制停止當前容器