帮助命令
docker version # 显示docker的版本信息
docker info # 显示docker的系统信息,包括镜像和容器
docker 命令 --help # 万能命令
官网帮助文档地址(https://docs.docker.com/engine/reference/commandline/docker/)
镜像命令
docker images #查看所有本地的主机上的镜像
# 解释
# REPOSITORY 镜像的仓库源
# TAG 镜像的标签
# IMAGE ID 镜像的id
# CREATED 镜像的创建时间
# SIZE 镜像的大小
# 可选项
# -a,--all 列出所有镜像
# -q,--quiet 只显示镜像的id
docker search 搜索镜像
[root@localhost ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12966 [OK]
mariadb MariaDB Server is a high performing open sou… 4966 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 593 [OK]
#可选项,通过搜索来过滤
--filter=STARS=5000 #搜索出来的镜像就是STARS大于5000的
[root@localhost ~]# docker search mysql --filter=STARS=5000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12966 [OK]
docker pull 下载镜像
# 下载镜像 docker pull 镜像名[:tag]
[root@localhost ~]# docker pull mysql
Using default tag: latest #如果不写tag 默认就是 latest
latest: Pulling from library/mysql
32c1bf40aba1: Pull complete # 分层下载:docker iamge的核心 联合文件系统
3ac22f3a638d: Pull complete
b1e7273ed05e: Pull complete
20be45a0c6ab: Pull complete
410a229693ff: Pull complete
1ce71e3a9b88: Pull complete
c93c823af05b: Pull complete
c6752c4d09c7: Pull complete
d7f2cfe3efcb: Pull complete
916f32cb0394: Pull complete
0d62a5f9a14f: Pull complete
Digest: sha256:ce2ae3bd3e9f001435c4671cf073d1d5ae55d138b16927268474fc54ba09ed79 #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
#等价于
docker pull mysql
docker pull docker.io/library/mysql:latest
#指定版本
docker pull mysql:5.7
docker rmi 删除镜像
docker rmi -f 镜像id #镜像id 也可以多个一起写
docker rmi -f $(docker images -aq) #删除全部镜像
容器的命令
docker run [可选参数] image(镜像名)
#参数说明
--name="Name" 容器名字 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随即指定端口
# 测试,启动并进入容器
[root@localhost ~]# docker run -it centos /bin/bash
[root@ef62f0b2795f /]# ls #容器内的centos是基础班,很多命令不完善
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
列出所有的运行的容器
#docker ps #列出当前正运行的容器
-a #列出当前正在运行的容器+带出历史运行过的容器
-n=? #显示最近创建的容器
-q #只显示容器编号
退出容器
exit #直接容器停止并退出
Ctrl+P+Q #容器不停止推出
删除容器
docker rm 容器id #删除指定的容器
docker rm -f $(docker ps -aq) #删除所有的容器
启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制定制当前容器
常用其他命令
查看日志
docker logs [] 容器id
-tf #显示日志
--tail number #显示的日志条数
查看容器中进程信息
docker top 容器id
查看镜像元数据
docker inspect 容器id
进入当前运行的容器
docker exec -it 容器id bashShell #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach 容器id #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内文件路径 目的的主机路经
docker cp b523522324:/home/test.java /home