docker之1初识

2021最新版docker学习笔记+思维导图 2021最新版docker学习笔记+思维导图,从0到1手把手教你docker从理论到实战,里面包含大量的实战案例,全部都是笔者自己动手实践过的过程记录。 立即下载

最近项目需要使用了Docker,结果在使用了之后就停不下来。 Docker对于自动化部署来说真真太方便了。

docker是什么

简而言之,docker是一个用于开发、分发和测试、生产的平台。它最大的优势在于:能够迅速自动化的部署开发的应用。Docker相当于在宿主机上虚拟出了N个独立的应用运行环境,每个应用的环境都是独立的,每个应用也是独立的。

从上图可以看出,Docker的主要包括:

  • (1)Server:用于运行docker主程,并常驻内存。
  • (2)REST API:用于与server进行交互
  • (3)CLI(command line interface):docker的命令(比如docker build),有了CLI就可以与server通过命令行进行交互。

两个重要的概念

images

images是Docker中重要的概念之一,相当于Windows的ISO镜像,可以用于安装Windows系统。 比如:docker pull ubuntu相当于拉取一个ubuntu系统的镜像到本地。可以通过命令行执行''docker images''查看本地拥有哪些镜像。

container

container也是Docker中重要的概念之一,相当于安装好了的Windows系统,可以start、pause、stop、restart。比如:docker run ubuntu相当于安装并启动一个ubuntu系统。通过命令行执行''docker ps -a''查看所有的容器。

这两个概念在开始的时候不好理解,但是以操作系统的ISO镜像和操作系统去类比会好理解得多。

使用docker

安装

docker在Ubuntu系统中的安装比较简单,只需要执行下面的命令即可:

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo docker run hello-world

当看到如下输出:

latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:1a523af650137b8accdaed439c17d684df61ee4d74feac151b5b337bd29e7eec
Status: Downloaded newer image for hello-world:latest

Hello from Docker!

即表示安装成功了。

使用

常用命令:

  • attach Attach local standard input, output, and error streams to a running container
  • build 根据Dockerfile文件创建镜像
  • commit Create a new image from a container's changes
  • cp 在容器和宿主机之前拷贝文件
  • create 创建一个新容器
  • diff Inspect changes to files or directories on a container's filesystem
  • events Get real time events from the server
  • exec Run a command in a running container
  • export Export a container's filesystem as a tar archive
  • history Show the history of an image
  • images 列出所有的镜像
  • import 从本地导入镜像
  • info Display system-wide information
  • inspect Return low-level information on Docker objects
  • kill Kill one or more running containers
  • load Load an image from a tar archive or STDIN
  • login Log in to a Docker registry
  • logout Log out from a Docker registry
  • logs Fetch the logs of a container
  • pause Pause all processes within one or more containers
  • port List port mappings or a specific mapping for the container
  • ps 列出所有的容器
  • pull 从仓库中拉取镜像
  • push 将镜像推送到镜像
  • rename 重命名容器
  • restart 重启容器
  • rm 删除一个或多个容器
  • rmi 删除一个或多个镜像
  • run 启动一个新容器
  • save Save one or more images to a tar archive (streamed to STDOUT by default)
  • search Search the Docker Hub for images
  • start Start one or more stopped containers
  • stats Display a live stream of container(s) resource usage statistics
  • stop Stop one or more running containers
  • tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  • top Display the running processes of a container
  • unpause Unpause all processes within one or more containers
  • update Update configuration of one or more containers
  • version Show the Docker version information
  • wait Block until one or more containers stop, then print their exit codes

如果对命令有疑问可以通过docker --help命令查看命令的使用。

一个例子

1.新建文件Dockerfile

新建目录test/,然后新建Dockerfile文件,内容如下:

FROM ubuntu:18.04
WORKDIR /code

#RUN 执行命令
RUN apt update --yes && apt upgrade --yes 

# 安装python
RUN  apt-get install python-dev --yes

COPY . .

# 执行web.py
CMD ["python","web.py"]

2.新建web.py文件

web.py文件中写入如下内容:

print('hello')

2.新建镜像

docker built -t test .

可以看到输出:

Step 17/18 : COPY . .
 ---> 1ba374f5a1d2
Step 18/18 : CMD ["python","web.py"]
 ---> Running in 365d4b7fd252
Removing intermediate container 365d4b7fd252
 ---> 5403a172511d
Successfully built 5403a172511d
Successfully tagged test:latest

表示成功新建了镜像。

3.新建容器

$ sudo docker run test
hello

可以看到hello就是容器的输出,表明容器新建成功。

集成学习之GBDT GBDT 阅读详情

相关推荐

如何用Python分析20年投资者情绪数据(附ISI和CICSI完整数据集)

本文提供了一份利用Python分析2003-2023年投资者情绪数据的实战指南。文章详细介绍了如何获取并清洗ISI和CICSI数据集,运用Pandas、Matplotlib等工具进行数据探索、可视化与深度分析,包括趋势分解、成分关联及情绪状态划分,旨在帮助读者掌握从数据到洞察的完整流程,为量化金融研究提供方法论支持。

gpu4optimizer的博客 467

Docker系列1—初识Docker

初识Docker 一、解决的问题 ​ 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。 ​ Docker主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其他隔离的进程。使用Docker可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其他机器上。 二、与虚拟机的比较 虚拟机也是一种虚拟化技术,它与Docker最大的区别在于它是通过模拟硬件,并在硬件上安装操作系统来实现

qq_42486675的博客 7130

华为FusionCharge 720kW液冷直流快充桩主电流全路径深度详解

本文档详细介绍了华为FusionCharge 720kW液冷分体式直流充电系统的主电流路径全链路解析,适用于配套DS720-720LCNA1充电主机及DT600L1-CNA1液冷终端、DT250N2-CNA1自然冷终端的运维工作。内容涵盖从电网交流输入到电动汽车充电的全过程,重点解析交流门、整流正门、主控正门等五大柜门区域的核心元器件分布及功能,包括额定参数、安全规范、故障排查等关键运维知识。操作人员需持有高压电工证并通过专项培训,作业时必须严格遵守断电验电、穿戴PPE防护装备等安全红线。文档通过16个关键

2401_84939870的博客 745

1、初识Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。

weixin_40832875的博客 1634

跨境TRS投资操作指南与系统解决方案

3 点击【申请 TRS 账户】,查看风险披露,录入账户参数、确定录入的参数信息,进行身份验证,输入验证码,TRS 账户开户申请已提交,后台对已提交的 TRS 开户申请进行审核,审核成功后,短信邮箱提醒,进行登录;2.点击【申请TRS账户】,查看风险披露,录入账户参数、确定录入的参数信息,进行身份验证,输入验证码,TRS账户开户申请已提交,后台对已提交的TRS开户申请进行审核,审核成功后,短信邮箱提醒,进行登录;4)更广泛的投资选择:相比A股通,TRS可以交易更多的A股标的,提供了更广泛的投资选择。

2401_85487119的博客 2841

Cadence IC5141保姆级教程:Bandgap电路四大仿真(稳定性/噪声/启动/PSRR)完整流程与调参心得

本文提供Cadence IC5141中Bandgap电路的四大仿真(稳定性仿真、噪声仿真、启动仿真、PSRR仿真)的完整流程与调参心得。从原理图检查到ADE L配置,详细解析各仿真步骤的关键参数设置与优化策略,帮助工程师高效完成电路设计与性能调优。

weixin_30399821的博客 1648

1.初识docker

Docker Hub工作中,需要打交道最多的是Docker Client和Docker Hub。Docker的主要功能是构建、部署和管理容器。

weixin_47772925的博客 1167

Openwork 入门指南:开源 AI 桌面助手快速上手

Openwork是一款开源的AI桌面代理工具,提供类似Claude Cowork的免费替代方案。它支持本地运行,确保隐私安全,并能高效处理文件整理、文档读写等任务。支持多种AI模型,通过MIT许可完全免费。安装简单,仅需运行命令行或下载桌面版,需配置API Key后即可使用。操作直观,支持多步骤规划和权限控制,适合自动化重复工作。目前主要支持macOS,未来将扩展至Windows/Linux。建议从简单任务入手,逐步掌握这一高效的数字助手工具。

3802

1.初识Docker

文章目录初识Docker一、什么是 Docker ?二、Docker 的特点和优势三、Docker 涉及到的一些关键概念3.1 镜像3.2 容器3.3 镜像仓库四、Docker 的安装五、卸载Docker六、镜像加速 初识Docker 一、什么是 Docker ? Docker 是一种容器技术,它可以将应用和环境等进行打包,形成一个独立的,类似于手机APP形式的「应用」,这个应用可以直接被分发到任...

qq_26713923的博客 413

RTC 实时时钟实验

如果在 RTC_CR 寄存器中设置了相应的允许位,则在每个TR_CLK 周期中 RTC 产生一个中断(秒中断)。void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) // 往备份区域写用户数据的函数 (这个函数的第一个参数就是寄存器的标号了,这个是通过宏定义定义的)存储在 RTC_ALR 寄存器中的可编程时间相比较,如果 RTC_CR 控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。寄存器操作完成,并同步之后,设置秒钟中断。

m0_55996456的博客 1205

NVIDIA Omniverse 技术浅析(三):NVIDIA RTX 技术

NVIDIA RTX 技术是 NVIDIA 推出的革命性图形渲染技术,旨在通过硬件加速和软件优化,实现高质量的实时图形渲染。RTX 技术在 NVIDIA Omniverse 平台中扮演着至关重要的角色,为其提供了强大的渲染能力。

m0_75253143的博客 350

docker系列(1)-初识Docker与容器

docker系列(1)-初识Docker与容器 文章目录docker系列(1)-初识Docker与容器1. 为什么要使用Docker1.1 场景一1.2 场景二1.3 场景三2. 什么是虚拟化3. 初识Docker4. 容器与虚拟机的比较4.1 什么是虚拟机4.2 什么是容器4.3 小结5. Docker组件和架构5.1 Docker服务端和客户端5.2 Docker构架5.2.1 Docker镜像5.2.2 Docker容器5.2.3 Registy(注册中心)6. Docker

qq_32677137的博客 1052

华为od 面试八股文_操作系统_01_含答案

华为od 面试八股文_操作系统_01_含答案

MISAYAONE的博客 3269

Docker(1)初识Docker

认识Docker之前,先介绍一下容器的概念: Docker daemon( Docker守护进程):Docker daemon是一个运行在宿主机( DOCKER-HOST)的后台进程。可通过 Docker客户端与之通信。 Client( Docker客户端):Docker客户端是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon通信。图中, docke...

yunyuzhu的博客 207

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[Docker笔记-1] 初识Docker

初步认识Dcoker, 了解Docker的基本应用和原理, 以及用来解决什么问题

xiaoyouyouaaa的博客 532

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

初识Docker:docker的安装1

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce。docker-ce为社区免费版本。启动docker前,一定要关闭防火墙后!启动docker前,一定要关闭防火墙后!启动docker前,一定要关闭防火墙后!

xyhxuyonghao的博客 163

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

1.初识Docker与容器

Docker是基于Go语言实现的开源容器项目。Docker是为解决了运行环境和配置问题的软件容器,方便做持续集成并有助与整体发布的容器虚拟化技术。通过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。

ZYN的博客 1113

Docker初学1:初识Docker

前言:本博客内容是对【狂神说Java】中的Docker教程学习过程中的记录与总结 Docker的历史 Docker公司 Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立,其标志如下图所示。 Docker 公司起初是一家名为 dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。 底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“D.

小关同学的博客 293

1、初识docker

【简介】 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 谁适合阅读本教程? 本教程适合运维...

大坏蛋的博客 392

【1】初识Docker

​ Docker一个开源的应用容器引擎,让开发者可以打包他们的应用以及环境到一个镜像中,可以发布到任何流行的Linux或Windows操作系统的机器上。 基于go语言开源的云开源项目。 解决了运行环境和配置问题的软件容器。 ​ 镜像:是一个只读的模板,是用来创建Docker容器额。 容器:是一个运行实例,镜像跑起来就成容器了。 仓库:是一个场所,存放镜像的地方,分为公共仓库和私有仓库。 Docker不需要传统虚拟机实现硬件资源虚拟化,Dockder容器上的程序使用的是实际物理机的硬件资源,因此再CPU,内

强哥的微博 334

Docker(1)-初识Docker

前言 本人文章均引用或者复制: 公众号: QQ群:806951874 Docker的前世今生 传统项目开发部署的流程是怎样的? 传统项目开发部署的基本流程 这里只简单描述一下,项目发布的基本流程 本地开发+测试,没有问题的话,编译打包发布到测试环境 在测试环境中进行测试,测试完成后,发布到生产环境 在生产环境中进行最后的测试,如果没有问题,那么一切就OK了 存在什么问题? 存在问题:不同机器上的软件环境不一致。(比较核心的问题) 软件环境的配置繁多、命令记不清楚。 重复性搭建软件环境、效率低下。

will的博客 1145

初识Docker:(1)什么是docker

Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?Docker允许开发中降应用、依赖、函数库、配置一起打包,形成可移植镜像Docker应用运行在容器中,使用沙箱机制,相互隔离Docker如何解决开发、测试、生产环境有差异的问题?Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行。

二进制杯莫停的博客 878

【Docker实用篇】一文入门Docker(1)初识Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。

vdssdf的博客 1197
上一篇: fatal error: ffi.h: No such file or directory问题的解决
下一篇: ssh permission too open的解决办法
android_ruben
博客等级 码龄11年 106粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值