docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令
帮助文档的地址:https://docs.docker.com/reference/
镜像命令
- docker images 查看所有本地主机上的镜像
[root@~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 weeks ago 13.3kB
#解释
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像的ID
CREATED :镜像的创建时间
SIZE:镜像的大小
#可选项
-a, --all #列出所有镜像
-q, --quiet #只显示镜像ID
2、docker search 搜索镜像
[root@~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation 10665 [OK]
mariadb MariaDB Server is a high performing open so 3997 [OK]
mysql/mysql-server Optimized MySQL Server Docker images 779 [OK]
#可选项,通过收藏来过滤
--filter =STARS=5000 #搜索出来的镜像就是收藏大于5000的
[root@~]# docker search mysql --filter=stars=5000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation 10665 [OK]
3、docker pull 下载镜像
#下载镜像
docker pull mysql:5.7
#查看
4、删除镜像
docker rmi -f 镜像id
#docker rmi -f d1165f221234 #删除指定的镜像
#docker rmi -f d1165f221234 d1165f221234 d1165f221234 d1165f221234 #删除多个指定的镜像
#docker rmi -f $(docker images -aq) #删除全部的镜像
容器命令
说明:我们有了镜像才可创建容器,下载centos镜像来测试学习
docker pull centos
新建容器并启动
docker run [可选参数] image
#参数说明
--name='Name' 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
#测试 :启动并进入容器
docker run -it centos /bin/bash
#从容器中退回主机
#exit
列出所有运行的容器
#docker ps 列出当前正在运行的容器
#docker ps -a 列出当前正在运行的容器+历史运行过的容器
#docker ps -n=1 显示最近创建的1个容器
#docker ps -q 显示容器的编号
退出容器
#exit 容器停止并退出
#Ctrl + p+q 容器不停止退出
删除容器
docker rm 容器id 删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) 删除所有容器
docker ps -a -q|xargs docker rm 删除所有容器
启动和停止容器的操作
docker start 容器id 启动容器
docker restart 容器id 重启容器
docker stop 容器id 停止容器
docker kill 容器id 强制停止容器
常用其他命令
后台启动容器
#docker run -d centos
问题:docker ps 发现容器停止了
#常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
#nginx 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs
#docker logs -tf -tail 10 容器id
查看容器中的进程信息
#docker top 容器id
查看镜像的元数据
docker inspect 容器id
进入当前正在运行的容器
#docker exec -it 容器id /bin/bash
#docker attach 容器id
#区别
exec #进入容器后开启一个新的终端,可以在里边操作(常用)
attach #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机
#docker cp 容器id :容器内路径 目的主机路径