docker学习
发表于:2024-04-07 | 分类: 开发
字数统计: 673 | 阅读时长: 2分钟 |

为什么要用Docker

环境配置的难题

  • 用户计算机的环境都不相同
  • 老旧的模块与当前环境不兼容
  • 相当于换一台机器,就要重新再配置一遍环境

Linux容器

  • Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,或者说在进程
  • 容器里面的进程接触到的各种资源都是虚拟的,从而实现与底层系统的隔离
  • Docker属于Linux容器的一种封装,提供简单易用的容器使用接口 目前最流行的Linux容器解决方法

Docker基本组成

客户端 + 主机 + 远程仓库
镜像命令

三个概念

镜像Image

  • 一个包含有文件系统的面向Docker引擎的只读模板,任何程序都需要环境,而镜像就是用来提供这种运行环境的
  • 例如一个Ubantu镜像就是一个包含Ubantu操作系统环境的模板
    容器Container
  • 镜像创建的实例
  • 极简的Linux系统环境
  • 各个容器间相互隔离、互不影响
    仓库Repository
  • Docker用来集中存放镜像文件的地方
  • 每个仓库有多个镜像,用tag标示,如果不加tag,默认使用latest镜像

镜像Image操作

镜像仓库
docker pull 从镜像仓库拉去镜像至本地
docker images 查看当前系统中的images信息
docker ps -a 查看docker中运行的程序(容器)
docker rmi 删除本地镜像

自己创建镜像

  • 创建dockerfile文件
  • 执行docker build命令创建本地镜像
  • docker push将本地镜像推送到远端

DockerFile

  • FROM 指定基础镜像 FROM centos:6
  • ENV 设置环境变量 可以在后续指令中使用 ENV key value
  • COPY 拷贝本地文件到镜像指定目录 COPY ./jrell.tar.gz /tmp
  • RUN 执行Linux的shell命令,一般是安装过程的命令
  • EXPOSE 指定容器运行时监听的端口,是给镜像使用者看的 EXPOSE 8080
  • ENTRYPOINT 镜像中应用的启动命令 ENTRYPOINT java -jar xx.jar

容器

容器相关命令

docker inspect 容器名 查看容器名

数据卷

  • 数据卷是一个虚拟目录,将宿主目录映射到容器内部,方便我们操作容器内文件
    挂载数据卷
  • 创建容器时,利用-v数据卷名:容器内目录完成挂载
  • 创建容器时,如果发现挂载在数据卷不存在时,会自动创建
    命令
    docker volume create 创建数据卷
    docker volume ls 查看所有数据卷
    docker volume rm 删除指定数据卷
    docker volume inspect 查看某个数据卷详情
    docker volume prune 清楚数据卷
上一篇:
虚拟机与ssh客户端配置
下一篇:
llama&Qwen部署