Docker

镜像和容器

当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用运行所需要的环境,配置,系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。
镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:Docker Hub

Docker基础

常见命令

Docker最常见的命令就是操作镜像,容器的命令
在这里插入图片描述

数据卷

数据卷(volume)是一个虚拟目录,是容器内目录宿主机目录之间映射的桥梁。

命令说明
docker volume create创建数据卷
docker volume ls查看所有数据卷
docker volume rm删除指定数据卷
docker volume inspect查看某个数据卷的详情
docker volume prune清楚数据卷

本地目录挂载

也可以通过本地的任意地方挂载数据卷,提前创建好文件夹即可

自定义镜像

镜像就是包含了应用程序,程序运行的系统函数库,运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

镜像结构

入口(EntryPoint):镜像运行入口,一般是程序启动的脚本和参数
层(layer):添加安装包,依赖,配置等,每次操作都形成新的一层
基础镜像(BaseImage):应用依赖的系统函数库,环境,配置,文件等。

在这里插入图片描述

DockerFile

DockerFile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据DockerFile帮我们构建镜像。常见指令如下:

指令说明
FROM指定基础镜像
ENV设置环境变量,可在后面指令使用
COPY拷贝本地文件到镜像的指定目录
RUN执行Linux的shell命令,一般是安装过程的命令
EXPOSE指定容器运行时监听的端口,是给镜像使用者看的
ENTRYPOINT镜像中应用的启动命令,容器运行时调用

我们可以利用Ubuntu基础镜像,利用Dockerfile描述镜像结构,也可以直接基于JDK为基础镜像,省略前面的步骤
在这里插入图片描述
在这里插入图片描述
当编写好了Dockerfile,可以利用下面命令来构建镜像:

docker build -t myImage:1.0 . 

-t:是给镜像起名字,格式依然是repository:tag的格式,不指定tag时,默认为latest
.:是指定Dockerfile所在目录,如果就在当前目录,则指定为“.”

网络

默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上:
在这里插入图片描述
加入自定义网络的容器才可以通过容器名相互访问,Docker的网络操作命令如下:

命令说明
docker network create创建一个网络
docker network ls查看所有网络
docker network rm删除指定网路
docker network prune清除未使用的网络
docker network connect使指定容器连接加入某网络
docker network disconnect是指定容器连接离开某网络
docker network inspec查看网络详细信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值