帮助命令
docker version(docker的信息)
docker info(docker的更详细信息,有多少个镜像和容器的数量)
docker 命令 --help
镜像命令
(1)docker images(查看本机上面的所以镜像)
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fblae65 4 months 12.3kb
REPOSITORY 镜像的仓库名字
TAG 版本标签信息
IMAGE ID 镜像的ID
CREATED 创建的事件
SIZE 大小
可选项
-a,--all 列出所有的镜像
-q,--quiet 只显示镜像的ID
(2)docker search 镜像搜索
docker search mysql --filter=STARS=3000 搜索mysql数据库收藏数大于3000的
(3)docker pull 下载镜像
docker pull mysql (默认下载最新的版本)
docker pull mysql:5.7(下载mysql为5.7版本的mysql数据库)
(4)docker rmi (删除镜像)
docker rmi 镜像ID (删除镜像)
docker rmi -f 镜像ID 镜像ID (删除多个镜像)
docker rmi -f $(docker images -aq)
容器命令
有了镜像才能下载容器
(1)docker pull centos(下载一个centos镜像)
(2)docker run -it centos /bin/bash(测试进入容器,通过交互界面)
查看容器
(3)docker ps (显示当前正在运行的容器)
(4)docker ps -a (显示历史运行的容器日志)
(5)docker ps -aq(显示历史运行的容器ID)
退出容器
(6) exit(退出,但容器也会停止)
(7)ctrl+p+q(退出,容器会持续运行)
删除容器
docker rm 容器ID 通过容器ID删除指定的容器
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 强制停止当前容器
常用的其他命令
(1)后台启动容器
docker run -d 镜像名?
问题:docker ps,发现centos 停止了
常见的坑,docker使用后台容器运行,就必须要有一个前台进程,-it(开启了一个交互界面,也就是一个前台界面),docker没有发现一个前台进程,就会自动停止。
#nginx,容器启动以后,发现没有提供服务,就会立即停止,没有程序。
(2)查看日志命令
docker logs -tf --tail 10 容器的ID
什么参数都没有的效果图
参数解析:
-t 输出时间戳
-f 跟踪实时输出
--tail n 输出最新的n条日志
-f 跟踪实时输出
我在启动一个终端
(3)看进程的信息
docker top 容器ID
参数形式
UID PID PPID C STIME TTY
root 22891 22875 0 21:21 ?
PID是进程ID;PPID是父进程的ID
(4)查看镜像的元数据
docker inspect 容器ID
(5)进入当前运行的容器
#我们容器通常都是后台方式运行的,需要进入这个容器,修改配置文件,这个时候需要进入这个容器
1)方式一:docker exec 执行的意思
docker exec -it 容器ID /bin/bash
2)方式二:docker attach 容器ID
两者区别
docker exec #进入容器开启一个新的终端,可以在里面操作
docker attach #进入容器正在执行的终端,不会启动新的进程
(6)从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 主机路径
进入容器
1)docker attach 容器ID
2)查询我们容器内容需要下载到主机的文件的路径
pwd
eg:/home/yy.java
3)退出容器
exit