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 强制停止当前容器