首页 > 其他分享 >docker使用-01镜像管理

docker使用-01镜像管理

时间:2022-10-19 10:49:26浏览次数:65  
标签:__ 01 app tag 镜像 docker Docker

安装docker

https://dockerdocs.cn/get-docker/

构建第一个镜像

1.创建flask应用

from flask import Flask

app = Flask(__name__)


@app.route('/')
def test():
    return 'ok111'


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1111)

目录结构如下:
image

2.在项目根目录创建一个Dockerfile文件,输入以下内容

# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py" ]

命令解析:

  • # syntax解析器指令 可选,提示用什么语法解析Dockerfile
  • FROM python:3.8-slim-buster 使用已经具有运行Python应用程序所需的所有工具和软件包的官方Python镜像,而不是创建自己的基本镜像
  • WORKDIR /app, 指示Docker使用此路径作为所有后续命令的默认位置
  • COPY . . 获取当前目录中的所有文件,并将它们复制到镜像中
  • RUN pip install -r requirements.txt 执行安装依赖包命令
  • CMD ["python", "app.py" ] 告诉Docker在容器中执行镜像时要运行什么命令 (python app.py)

目录结构如下
image

3.构建镜像

docker build --tag <镜像名称> .

该docker build命令从Dockerfile和“上下文”构建Docker映像。构建的上下文是位于指定PATH或URL中的文件集。Docker构建过程可以访问此上下文中的任何文件。
构建命令可以选择带有--tag标志。标签用于设置镜像名称和格式的可选标签name:tag。我们现在将省略可选项tag以简化操作。如果您不传递标签,Docker将使用“最新”作为其默认标签。您可以在构建输出的最后一行中看到这一点。
image

4.查看本地镜像

docker images

image

5.标记镜像

docker tag <原始镜像名>:<原始镜像tag> <新镜像名>:<新镜像tag>

该docker tag命令为镜像创建一个新标签。它不会创建新镜像。标签指向相同的镜像,并且是引用镜像的另一种方法。
image

6.删除镜像

docker rmi <镜像名>:<tag号>

image

标签:__,01,app,tag,镜像,docker,Docker
From: https://www.cnblogs.com/yimeimanong/p/16805230.html

相关文章

  • docker 命令在 WSL2 中找不到
    在WSL命令行中执行docker命令,如果有如下输出,则证明dockerdesktop中没有开启对于当前WSL系统的支持。Thecommand'docker'couldnotbefoundinthisWSL2di......
  • docker安装jenkins+maven-3.6.3+node-v14.18.3+java-1.8.0
    安装maven-3.6.31)下载apache-maven-3.6.3-bin.tar.gzwget apache-maven-3.6.3-bin.tar.gz2)解压压缩包tar-xfapache-maven-3.6.3-bin.tar.gz-C /usr/local/3)配置......
  • Docker详解与部署微服务实战
    2013年发布至今,Docker一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚Docker到底是什么,要解决什么问题,好处又在哪里?今天就来详细解释,帮助大家理解它,还带有简单......
  • leetcode-101-easy
    SymmetricTree思路一:递归publicbooleanisSymmetric(TreeNodeleft,TreeNoderight){if(left==null&&right==null)returntrue;if(left==null......
  • docker jdk 容器内无法使用 jstack/jmap/jstat 等命令
    问题:想看看容器内java线程锁的状态,运行jstack1提示“UnabletogetpidofLinuxThreadsmanagerthread”,使用其他jdk命令也是如此排查:原因是因为容器内的jav......
  • ML[001] 机器学习基本概念
    机器学习是能够从数据中学习的算法(通过经验E改进后,在任务T上由性能度量P衡量的性能会有所提升) 1.数据集(dataset)训练集(trainingset):用来进行训练,也就是产生模型或算......
  • Linux安装Kafka(Docker方式)
    安装步骤(已亲测好使):#笔者版本ZOOKEEPER_VERSION=3.4.13//DockerVersion=18.03.1-ee-3#拉zookeeper镜像dockerpullwurstmeister/zookeeper#笔者版本KAFKA_VERSION......
  • pentlab第三方镜像模板
    注意:使用此模板前,先把你的pentlab升级到最新版本,5.0.1链接:https://pan.baidu.com/s/1XNYo7CjD3ddSoC1gvHIt1w提取码:8a8i 更新模板引擎,对amdintel处理器做了区分使用......
  • 01#嵌入式系统基础:定义、由来、分类
    嵌入式系统的定义嵌入式系统是一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。例如,微波炉......
  • 【详细教程】装系统 重装系统 【免注册】【原镜像】【实用】
    一定要看到最后,后面才是重点。1、点击启动U盘  2、稍等:  3、下一步:  4、  5、选择版本:下一步 6、    7、选择:自定义:下一步:  ......