三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

关于docker的使用心得

关于docker的使用心得

来公司后先熟悉项目,项目熟悉完了,就要问用docker进行本地的部署,但是我没有用过docker,我只是听过,所以现在就学习docker

首先关于docker的用处,其实在我们日常开发了一个小程序后或者一个项目后,打包发给别人,想让别人在他的电脑里面跑起来,但是发现因为版本不一样以及环境的问题,所以就造成运行不了的问题,其实这个时候有docker就很好解决了:

这里我们首先要讲清楚一些概念,先是image即镜像,镜像顾名思义,就是创建了一个和你一样的环境,或者说创建了一个和你一样的电脑,这个电脑里面有你的项目,你配置的文件以及各种环境,有些人就要疑惑了这不就是虚拟机吗?非也,虚拟机和这个还是有本质的差别的,虚拟机你是不是要分配相关的运行内存才能跑起来,最直观的体现就是你要开机,然后人家占用了几个g,但是docker就不需要担心这个问题,它小巧只有十几个mb,这也和docker与你共用一个系统有关系。我们有了镜像就可以创建容器了,容器顾名思义,这两者关系就好像制作图纸和成品一样,也就是说我们可以通过这个镜像创建出我们需要的”电脑“,在这个上面跑程序

这里在运行电脑的时候,你会发现每个容器用了就没了的,如图:

这里我run了一个容器,创建一个txt文件并写入,退出后重新进入发现test文件没有了,这是因为我们再跑是跑的一个新的容器旧的上转转回收了(狗头),那么既然这样我如何让二者进行交互呢?因为我跑程序跑出的结果,总不能丢在容器里面取不出来把,那有什么用,这个时候就需要用到挂载了,挂载就是一个用于容器与你本地电脑之间通信的通道,我们可以通过挂载实现相关的通信:

docker run -it -v “你本地电脑的的文件路径”:“容器电脑的文件路径” ubuntu:20.04 bash

我们可以通过这样的方式来进行相关的信息交流

当然,这种还是最简单的,其实难的不是这里,而是你如何创建一个镜像,也就是说从无到有的创建你的环境配置,这里我们需要编写dockerfile文件,通过dockerfile来告诉容器做什么怎么变成和镜像一样的环境,dockerfile的语法如下:

# 指定基础镜像 FROM ubuntu:22.04 # 设置维护者信息 LABEL maintainer="your-email@example.com" # 设置环境变量 ENV APP_HOME /app # 创建工作目录 WORKDIR $APP_HOME # 复制文件到镜像 COPY . . # 执行命令 RUN apt-get update && apt-get install -y python3 # 暴露端口 EXPOSE 8080 # 启动命令 CMD ["python3", "app.py"]
← 返回列表