docker --help
可以调出docker的操作说明
docker images
列出本机的所有镜像
- -a 列出所有镜像(包括中间层镜像)
- -q 列出镜像的id
- –digets 显示镜像的摘要信息(备注)
- –no-trunc 显示完整镜像信息 (完整的镜像id)
docker search (从dockhub上面查找镜像)
- -s 30 (只搜索大于30星的镜像)
docker pull (下载镜像)
docker rmi (删除镜像)
- 删除的镜像如果不指定版本号,默认删除的是laster
- -f 强制删除 (不适用是删不掉运行的容器的)
- docker rmi -f $(docker images -qa) 删除所有镜像
容器的命令
docker ps 列出当前所有的容器
- -l 上一个运行的容器
- -a 所有的,运行的和以前运行的
docker run
- 启动 容器
- –name 为容器起一个名字
- -i 已交互的形式启动
- -t 为容器分配一个伪输入终端 通常和-i一起用
- -d 以守护进程启动 必须以前后台的形式运行才有用
- -p 已docker的端口去映射服务的端口 8080:3306 docker的8080端口可以访问到容器的3306
- -P 随机分配端口
- -v (可以让容器内的文件和我们本机的文件达成数据共享) 数据容器卷
docker run -it -v /home:/var 镜像名称 /home是我们本机的文件,没有会生成,/var是容器内的
docker run -it -v /home:/var:ro 镜像名称 (只读)
- –volumes -from 容器名字 (从父容器中继承过来,数据可以共享 和面向对象不一样,子增加,父也增加,和-v差不多)
容器的一些操作
- exit 退出容器 退出直接关闭容器
- cril + p + q 退出容器,但容器不关闭
重新启动容器
- docker start 容器id
- docker restart 重启
- docker stop 停止
- docker kill 强制关闭
- docker rm 删除停止的容器
docker logs 日志
- -t 显示时间
- -f 显示最新的日志
- tail 从末尾读
docker top 可以查看容器内的进程
docker inspert 可以查看详细信息
docker attach 可以重新进入运行中的容器
docker exec -t 容器id commond
可以不进入容器就执行命令
docker cp 容器id:地址 宿主地址 (将容器文件拷到宿主机)
docker commit 提交容器副本成为一个镜像
- -m 提交的信息
- -a 作者
docker commit -m='wwq' -a='qq' 容器id 名字:tag值
dockerfile
FROM centos #来自哪个镜像
MAINAINER wwq #作者名字
RUN #用来运行额外的命令 比如shell语法
EXPOSE #当前容器对外暴露的端口号
WORKDIR #运行该容器默认的落脚点的文件夹
ENV #用来在构建镜像是设置环境变量
ENV MY_PATH /uer/test #后面的run命令可以使用$MY_PATH来引用
COPY #拷贝文件
ADD #类似于拷贝,但是会自动解压缩
VOLUME #容器卷,用来数据持久化
CMD #指定容器启动是运行的命令
#有两种格式
#shell格式
CMD <命令>
#exec格式
CMD['可执行文件',’参数一‘,’参数二‘]
#可以有对个CMD命令,但是只有最后一个生效,还会被docker run 后面的参数替换
ENTRYPOINT #和CMD一样 但是docker run 后面的参数是追加
ONBUILD # 父镜像被继承是触发的东西
docker build
- -f 指定运行的文件
- -t 起一个名字