当前位置: 首页 > news >正文

docker基础知识以及windows上的docker desktop 安装

记录以供备忘

基础概念:

什么是docker

将程序和环境一起打包,以在不同操作系统上运行的工具软件

什么是基础镜像

选一个基础操作系统和语言后,将对应的文件系统、依赖库、配置等打包为一个类似压缩包的文件,就是基础镜像

什么是Dockerfile

以命令行代码的形式,按照执行顺序从前到后写的代码文件

什么是容器镜像

Docker按照Dockerfile中指明的依赖包等说明,一行行构建环境+应用程序,然后打包为一个类似压缩包的的文件,即容器镜像
将容器镜像传到任意一台服务器上执行“解压缩”操作便可以运行

什么是Registry

为了方便管理与调用,类似于github,形成了Docker Registry,可通过docker push 或者docker pull 上推或者下拉镜像到仓库/本地
官方的仓库名称为DockerHub,私人也有很多仓库,例如清华的Tuna

什么是容器

从Registry下拉镜像,使用docker run来“解压缩”镜像,可获得一个可以运行的独立的环境和应用程序,即为容器
一个操作系统会包含多个容器,容器间互相隔离,互不干扰

Docker与虚拟机的关系

虚拟机有完整的操作系统,而Docker中仅仅打包了操作系统中的“用户空间”。
Docker利用 Namespace 让它看起来像独立的操作系统,利用Cgroup来限制他能使用的计算资源。
故容器的本质是自带独立运行环境的特殊进程,底层和宿主机共用操作系统

在这里插入图片描述
宿主机、镜像(image)、容器(containers)、dockerfile、registry之间的关系

下载windows上的docker

windows上的docker叫 Docker Desktop,可以跟着csdn教程去安装。或者b站教程。注意安装时至少会重启两次,记得做好文件保存管理。
我的刚安装上之后显示 Docker Engine stopped
我也不清楚啥意思,只管在cmd中下载了一个镜像,一直卡在那里,回去睡觉了,放在那里过了一夜之后,镜像没下载下来,但是docker可以正常运行了。重新运行下载镜像的命令,镜像下载成功了。

基本命令

docker 拉取镜像:

# 官方镜像
docker image pull 镜像名称 
# 或简写为 
docker pull 镜像名称
# 个人镜像
docker pull 仓库名称/镜像名称
docker pull xunmi/django
# 第三方仓库拉去
docker pull 第三方仓库地址/仓库名称/镜像名称
docker pull hub.c.163.com/library/mysql:latest
(默认仓库名为library,所有从官方获取镜像相当于`sudo docker image pull library/镜像名称`)

查看本机所有的镜像

docker images
# 或者
docker image ls

在这里插入图片描述
docker 运行镜像:

docker run -d -p 3000:8080 image_name

image_name为镜像名称
-d 选项表示在后台运行容器
-p 3000:8080 表示将容器内部的 8080 端口映射到宿主机的 3000 端口

docker 查看正在运行的容器列表

docker ps               # 会返回容器的ID

docker 删除或者停止容器:

docker stop [容器ID或容器名]
docker rm [容器ID或容器名]

修改别人的代码

需要拉下镜像— 将镜像文件从docker下载到本地----修改文件----创建新的docker镜像-----构建新的镜像----运行新镜像
有一个问题,我在本地改代码的时候,怎么运行?还不是要IDEA?还要配环境?那要docker有啥用??

http://www.lryc.cn/news/398491.html

相关文章:

  • 【深度学习基础】环境搭建 linux系统下安装pytorch
  • 【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
  • idea启动vue项目一直卡死在51%,问题分析及其如何解决
  • 基于STM32设计的智能喂养系统(ESP8266+微信小程序)175
  • 第三方支付平台如何完美契合游戏行业?
  • 计算机网络 5.6网桥与交换机
  • CDH实操--集群卸载
  • 5G RedCap调查报告
  • 模型(卷积、fc、attention)计算量 MAC/FLOPs 的手动统计方法
  • Git 删除包含敏感数据的历史记录及敏感文件
  • vue-tabs标签页引入其他页面
  • U-net和U²-Net网络详解
  • Vue3 引入腾讯地图 包含标注简易操作
  • 迅狐抖音机构号授权矩阵系统源码
  • 数据库系统原理练习 | 作业2-第2章关系数据库(附答案)
  • 有向图的强连通分量——AcWing 367. 学校网络
  • 安全开发--多语言基础知识
  • 如何使一个盒子水平垂直居中(常用的)
  • 安全防御-用户认证综合实验
  • uniapp安卓离线打包配置scheme url
  • C++ STL std::lexicographical_compare用法和实现
  • ORM Bee,如何使用Oracle的TO_DATE函数?
  • HTML CSS 基础复习笔记 - 框架、装饰、弹性盒子
  • C++:创建线程
  • python如何查看类的函数
  • P6. 对局列表和排行榜功能
  • uniapp easycom组件冲突
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
  • macOS 的电源适配器设置
  • 视觉SLAM与定位之一前端特征点及匹配