什么是docker
解决了运行环境与配置问题的软件容器,方便做持续集成并有助于项目整体发布的容器虚拟化技术。
docker能用来干什么
在开发与部署的过程中能做到一次构建,多处运行。
- 更快速的应用交付与部署
- 更便捷的升级与扩缩容
- 更简单的系统运维
- 更高效的计算机资源利用
docker的基本组成
基本组成为:镜像,容器,仓库
- 镜像:是一个只读模板,可以使用镜像来创建容器,一个镜像可以创建多个容器
- 容器:是独立运行的一个或一组应用,是镜像创建的一个实例
- 仓库:是集中存放镜像文件的场所
docker的工作原理
docker是一个client-server结构系统,docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是鲸鱼中的集装箱。
docker常用命令
1.帮助指令
docker version
查看docker的版本docker info
查看docker中详细信息docker --help
查看docker帮助文档
2.镜像指令
docker images 【options】
列出本地主机的镜像
参数说明:
-a:列出本地所有的镜像
-q:只显示镜像ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息
docker search【options】 某镜像名字
搜索阿里云镜像仓库中该名称的镜像
参数说明:
--no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
--automated:列出automated build类型的镜像
docker pull 某镜像名字
下载该名称的镜像docker commit -m “提交的描述信息” -a “作者” 容器ID 目标镜像名:版本号
创建新镜像docker rmi 某镜像名字
删除该名称镜像
docker rmi -f 镜像ID 删除单个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多个镜像
docker rmi -f $(docker images -qa) 删除全部镜像
3.容器指令
docker run 【options】 image
新建并启动容器
参数说明:
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射
docker ps 【options】
列出当前正在运行的容器
参数说明:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。
exit
容器停止退出CTRL + P +Q
容器不停止退出docker start 容器ID或名称
启动容器docker restart 容器ID或实例
重启容器docker stop 容器ID或实例
停止容器docker kill 容器ID或实例
强制停止容器docker rm 容器ID
删除已停止的容器
4.重要指令
docker run -d 容器名
启动守护式容器docker logs -f -t --tail 容器ID
查看容器日志docker top 容器ID
查看容器内运行的进程docker inspect 容器ID
查看容器内部细节docker exec -it 容器ID bashShell
与运行的容器以命令行交互docker attach 容器ID
重新进入容器docker cp 容器ID :容器内路径 目的主机路径
从容器内拷贝文件到主机
docker镜像是什么
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
docker容器数据卷
容器卷类似于redis中的持久化技术 rdb 与 aof,数据卷能够做到容器的持久化与容器间继承和数据共享
命令:
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
容器停止退出后,主机修改数据后,数据还是会同步到容器中
数据卷容器
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器
容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止
dockerFile解析
概念
dockerFile是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本
步骤
编写dockerFile文件 =》docker bulid =》 docker run
dockerFile内容格式
- 每条保留字指令都必须为大写字母且后面至少要跟随一个参数
- 指令从上向下执行,顺序执行
- #标识注释
- 每条指令都会创建一个新的镜像层,并对镜像进行提交
docker执行dockerFile流程
- docker从基础镜像运行一个容器
- 执行一条指令并对容器进行修改
- 执行类似docker commit 的操作提交一个新的镜像层
- docker再基于刚提交的镜像运行一个新容器
- 执行dockerFile中的下一条指令直到所有指令都执行完成
dockerFile,docker镜像,docker容器之间关系
- dockerFile是构建docker镜像的原材料
- docker镜像是软件的交付品
- docker容器是docker镜像的一个实例,是软件的运行状态
dockerFile体系中的保留字
- FROM 基础镜像
- MAINTAINER 镜像维护者的姓名与邮箱
- RUN 容器构建时运行的命令
- EXPORT 暴露的端口
- WORKDIR 创建容器后,终端默认登录进来的工作目录
- ENV 构建镜像过程中设置的环境变量
- ADD 将宿主机目录中的文件拷贝进镜像并解压缩
- COPY 将宿主机目录中的文件拷贝进镜像
- VOLUME 容器数据卷,数据持久化与数据共享
- CMD 指定容器启动时要执行的命令,多个CMD只有最后一个生效
- ENTRYPOINT 指定容器启动时要执行的命令,执行容器添加的命令会追加在后面
- ONBUILD 构建一个被继承的DockerFile时运行的命令,父镜像在被子镜像继承时onbuild被触发
镜像安装步骤
- 搜索镜像
- 拉取镜像
- 查看镜像
- 启动镜像
- 停止容器
- 移除容器
转载:https://blog.csdn.net/qq_44666176/article/details/106768830
查看评论