镜像,容器,容器数据卷,DockerFile 相关命令 使用总结
镜像是1种轻量级、可执行的独立的软件包。包含: 代码,运行时,库,环境变量和 配置文件。所有软件包,直接打包docker镜像,就可以直接跑起来.独立的运行环境。
一.镜像命令
1.列出本机所有镜像,查看镜像
docker images
2.搜索镜像
docker search rabbimt
docker search rabbimt -f=STARS=22 #列出所有docker商店中存在的并且星星数量 >=22 的所有rabbitmq镜像
3.下载拉取镜像
docker pull rabbitmq # 默认下载最新镜像
docker pull rabbitmq:3.8.11 # 下载指定版本的镜像
4.删除镜像
docker rmi -f [IMAGE ID] #删除指定单个镜像id
docker rmi -f [IMAGE ID] [IMAGE ID] [IMAGE ID] [IMAGE ID] #删除指定多个镜像id
docker rmi -f $(docker images -aq) #删除所有镜像
二.容器命令:
1.运行容器 如果本地没有容器,则先执行下载,再执行运行
docker run - it centos /bin/bash
docker run [可选参数] image --name="name" 指定容器名字
-d 采用后台方式来运行容器
-it 进入容器,使用交互方式运行
-p(小P) 指定容器的端口 -p 主机端口:容器端口
-P(大P) 随机指定端口
docker run -d --name nginx -p 1111:80 nginx #-d仅后台启动( -p外部暴露1111端?,映射nginx的80端口,可访问http://localhost:1111
- 启动后,退出即删除容器(利用--rm) 即:docker ps -a也查不到
docker run -it --rm tomcat
3.查询容器列表
docker ps [OPTIONS] #查询运行中的容器列表
docker ps #查询运行中的容器列表
docker ps -a #查询所有的容器列表(运行中&停止的)
docker ps -aq #查询所有容器id列表集合
4.退出容器 exit or ctrl+d
5.删除容器 docker rm [OPTIONS] CONTAINER [CONTAINER...]
docker rm [容器id] 删除指定容器(只能删除Exited状态的容器)
docker rm -f [容器id] 强制删除指定任意状态的容器
docker rm $(docker ps -aq) 删除所有stop状态的容器
docker rm -f $(docker ps -aq) 删除所有容器
5.启动容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start imageid
6.重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker restart imageid
7.停止容器
docker stop imageid # up-->exited
docker kill imageid #强制停止当前容器
三。容器数据卷
1.挂载操作
执行挂载(把本机路径/home/muse/test,挂在到centos容器的/home目录下)
在容器里创建1个文件a.txt
docker run -it -v /home/muse/test:/home centos /bin/bash
什么是容器数据卷
如前面介绍的,docker是将应用和环境进行了打包。那么如果删掉容器的话,数据也会同时被删
除掉。那么,如果我们有数据持久化的需求,或者容器之间数据共享的需求,那么就用到了容器数据卷.
1.挂载操作
四.数据卷容器
DockerFile中创建的镜像。我们来实现多个容器直接的数据卷挂载操作.
五.DockerFile
DockerFile就是命令脚本,?来构建docker镜像文件的。指令都是大写字母.
●
1> 编写1个DockerFile文件。
2> 执行docker build命令,构建成为1个镜像。
3> 执行docker run命令,运行镜像。
4> docker push发布镜像,可以发布到DockerHub、阿里云/华为云镜像仓库。