Docker

发布于:2024-05-08 ⋅ 阅读:(31) ⋅ 点赞:(0)

镜像和容器

当我们利用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 查看网络详细信息

网站公告

今日签到

点亮在社区的每一天
去签到