Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socker从客户端访问!Docker Server接收到Docker-Client的指令,就会执行这个指令!
docker search #搜索镜像
docker images #查看本地主机的所有镜像
docker pull #镜像名[:tag] 下载镜像
docker rmi #删除镜像
docker inspect 容器id #查看镜像元数据
docker run [可选参数] image #新建容器并启动
--name="名字" 指定容器名字
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
docker run -d 镜像名 # 后台启动容器
docker logs -tf --tail 10 容器id #显示日志
-t #时间戳
-f #跟随最近的日志打印
--tail number #要显示的行数 最后[number]行
docker ps # 列出当前正在运行的容器
-a # 列出所有容器的运行记录
-n=? # 显示最近创建的n个容器
-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 version #查看docker的版本信息
docker info #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令(可查看可选的参数)
[root@zhanyuan lib]# docker images #查看本地主机的所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 5 months ago 13.3kB
#解释:
1.REPOSITORY 镜像的仓库源
2.TAG 镜像的标签
3.IMAGE ID 镜像的id
4.CREATED 镜像的创建时间
5.SIZE 镜像的大小
可选参数
-a/--all 列出所有镜像
-q/--quiet 只显示镜像的id
[root@zhanyuan ~]# docker top d9c1a0d0fa37
UID PID PPID C STIME
root 8189 8171 0 16:09
root 9120 8189 0 16:17
进入当前正在运行的容器
- docker exec -it 容器id /bin/bash
- docker attach 容器id
docker exec 进入容器后开启一个新的终端,可以在里面操作
docker attach 进入容器正在执行的终端,不会启动新的进程。
从容器内拷贝文件到主机上
docker cp 容器id: 容器内路径 目的的主机路径
数据挂载(直接使用命令来挂载 -v)
docker run -it -v /home/ceshi:/home centos /bin/bash
这个时候容器外的/home/ceshi 目录 就和容器内 /home 目录进行了同步绑定,数据会一致。无论是里面还是外面新增数据。都会同步。删除文件也会同步。
具名和匿名挂载
匿名挂载
-v 容器内目录
-P 大写的P是随机映射端口
docker run -d -P --name nginx01 -v /etc/nginx nginx(匿名挂载。在 -v 的时候只写了内部地址)
查看所有 volume卷 的情况
docker volume ls
local 0a852bd22bb30be3a55960f42514a0bcada1f5654609f51e2cd52e71b6baf412
0a852bd22bb30be3a55960f42514a0bcada1f5654609f51e2cd52e71b6baf412生成的文件名
具名挂载
通过 -v 卷名:容器内地址
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx