微服务技术栈-初识Docker

news2024/10/7 20:28:39

文章目录

  • 前言
  • 一、Docker概念
  • 二、安装Docker
  • 三、Docker服务命令
  • 四、Docker镜像和容器
    • Docker镜像相关命令
    • Docker容器相关命令
  • 总结


前言

docker技术风靡全球,它的功能就是将linux容器中的应用代码打包,可以轻松的在服务器之间进行迁移。docker运行程序的过程就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。


一、Docker概念

Docker是一个开源的应用容器引擎,诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名Docker Inc),可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。

在这里插入图片描述
Docker具有以下几点特征:

  1. 容器是完全使用沙箱机制,相互隔离。
  2. 容器性能开销极低。
  3. 使用Docker,开发人员可以轻松地构建、发布和管理应用程序,而不受底层硬件或操作系统的限制。

在上图中我们可以观察到鲸鱼身上拖着一个一个集装箱,这个集装箱非常生动的展示了docker的优势和作用:
我们可以把程序代码和所需要的环境放到一个集装箱里面去,这样如果我们要部署这套程序代码到新机器上,就直接把集装箱拿过去就行了,docker的集装箱可以保证我们的程序不管运行在哪不会缺东西。

例如:一个Java Web项目在Linux上启动需要一个操作系统,操作系统之上要JDK、Tomcat、Mysql、Redis、Nginx等环境,如果不用Docker,我们则需要在服务器上手动复刻一套我们本地的环境,同时还要保证版本正确和配置文件正确,这个过程非常繁琐。

如果用了Docker,我们可以把自己机器上的系统、应用、配置全都打包成一个集装箱,由鲸鱼给我们送到服务器上,在我的机器上怎么运行,在别的机器上也怎么运行,不会有任何的问题。由此可见,Docker解决了开发人员、测试人员、运维人员运行环境不一致所带来的问题。


二、安装Docker

接下来我们在CentOs环境下安装一下docker
1.yum包更新到最新。

yum update

2.安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker,出现输入的界面都按 y。

yum install -y docker-ce

在这里插入图片描述

5.查看docker版本,验证是否成功。

docker -v

在这里插入图片描述


三、Docker服务命令

1.启动docker服务:

systemctl start docker

2.停止docker 服务:

systemctl stop docker

3.重启docker 服务:

systemctl restart docker

4.查看docker 服务状态:

systemctl status docker

在这里插入图片描述

5.设置开机启动docker:

systemctl enable docker

四、Docker镜像和容器

镜像:一种文件形式,可以把许多文件做成一个镜像文件。

镜像(Image):。本质上来说镜像就是一系列文件,可以包括我们应用程序的文件,也可以包括我们应用的运行环境的文件。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。

容器(Container):镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可以看成一个代码控制中心,用来保存镜像。
在这里插入图片描述

Docker镜像相关命令

1.查看镜像:查看本地所有的镜像

docker images
docker images -q #查看所有镜像的id

2.搜索镜像:从网络中查找需要的镜像

删除镜像:删除本地镜像

3.拉取镜像:从Docker 仓库下载镜像到本地,镜像名称格式为名称:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。

docker pull 镜像名称

4.删除镜像:删除本地镜像。

docker rmi 镜像id/名称号:版本号 #删除指定本地镜像
docker rmi 'docker images -q' #删除所有本地镜像

Docker容器相关命令

1.查看容器

docker ps #查看正在运行的容器
docker ps -a #查看所有容器

2.创建并启动容器

docker run 参数 版本:版本号 </bin/bash>#默认为/bin/bash

参数说明:

  • -i:保持容器运行。通常与-t同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭
  • -t:为容器重新分配一个伪输入终端,通常与-i同时使用
  • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器docker exec -it c2 /bin/bash。退出后,容器不会关闭
  • -it创建的容器一般称为交互式容器;-id创建的容器一般称为守护式容器
  • --name:为创建的容器命名

3.进入容器

docker exec 参数 #退出容器,容器不会关闭

4.停止容器

docker stop 容器名称

5.启动容器

docker start 容器名称

6.删除容器:如果容器是运行状态则删除失败,需要停止容器参能删除

docker rm 容器名称

7.查看容器信息

docker inspect 容器名称

总结

通过利用Docker的快速交付,测试和部署代码的方法,可以显着减少编写代码和在生产环境中运行代码之间的延迟。在后续章节我们将介绍Docker数据卷和Docerfile的概念,以及用Docker在服务器上部署应用。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

办公环境中最常用的邮箱是什么?

随着互联网的普及&#xff0c;电子邮件已经成为了人们日常生活和工作中不可或缺的一部分。为了更好地了解办公邮箱的使用情况&#xff0c;我们对不同群体的办公邮箱使用进行了一次调查。本文将为您详细介绍最常用的办公邮箱及其特点。 一、调查背景 本次调查旨在了解中国各行各…

堆--数据流中第K大元素

如果对于堆不是太认识&#xff0c;请点击&#xff1a;堆的初步认识-CSDN博客 数据流与上述堆--数组中第K大元素-CSDN博客的数组区别&#xff1a; 数据流的数据是动态变化的&#xff0c;数组是写死的 堆--数组中第K大元素-CSDN博客题的小顶堆加一个方法&#xff1a; class MinH…

C语言编程经典100例——1至10例

目录 第 1 例 第 2 例 第 3 例 第 4 例 第 5 例 第 6 例 第 7 例 第 8 例 第 9 例 第 10 例 第 1 例 程序源码&#xff1a; /* 题目&#xff1a;有 1、2、3、4 四个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;分别都是多少&#xff1f;…

CCF CSP认证 历年题目自练 Day22

CCF CSP认证 历年题目自练 Day22 题目一 试题编号&#xff1a; 201912-1 试题名称&#xff1a; 报数 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 题目分析&#xff08;个人理解&#xff09; 每一个人都要报多少个数字&#xff0c;我选择字典存储&#xff0…

Folium 笔记:MarkerCluster

在一张地图上以聚簇的形式显示大量的标记&#xff08;markers&#xff09; 举例&#xff1a; import folium from folium.plugins import MarkerCluster import randomm folium.Map(location[45.5236, -122.6750], zoom_start13) # 创建一个基本的地图marker_cluster Marker…

VAE(变分自动编码器)

1.自编码器存在的局限性 自编码器的隐空间的规则性是一个难点&#xff0c;其取决于初始空间中数据的分布、隐空间的大小和编码器的结构。我们很难先验地确保编码器与生成过程兼容并智能地组织隐空间&#xff0c;因此可能导致隐空间的某些点将在解码时给出无意义的内容。注意&am…

剑指offer——JZ76 删除链表中重复的结点 解题思路与具体代码【C++】

一、题目描述与要求 删除链表中重复的结点_牛客题霸_牛客网 (nowcoder.com) 题目描述 在一个排序的链表中&#xff0c;存在重复的结点&#xff0c;请删除该链表中重复的结点&#xff0c;重复的结点不保留&#xff0c;返回链表头指针。 例如&#xff0c;链表 1->2->3-&…

1802_在Linux系统上开发ARM单机片机嵌入式软件

全部学习汇总&#xff1a; GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 1. 在Linux上也有嵌入式的开发环境&#xff0c;或许还有很多。不过&#xff0c;我现在接触到的大部分还是Windows居多。这一份文件介绍的是一个mbed platform…

springcloudAlibaba之Nacos服务注册源码分析

Nacos服务注册源码分析 Nacos服务注册原理Nacos服务注册怎么做的Nacos服务注册源码解读 带着以上三个问题&#xff0c;进入到今天的源码解读 问题1:Nacos服务注册原理 Nacos首先从bootstrap.yml配置文件中读取我们配置好的nacos配置&#xff0c;这里面一般包括spring.applic…

亚马逊,速卖通,国际站卖家如何找到真实干净的买家账号测评补单

对于卖家而言&#xff0c;测评资源确实是一项宝贵的财富。通过自养号和广告相结合的策略&#xff0c;可以快速有效地提升产品销量、增加转化率以及提高Listing的权重。这是一个很好的方法来优化产品在平台上的表现 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&…

小谈设计模式(18)—适配器模式

小谈设计模式&#xff08;18&#xff09;—适配器模式 专栏介绍专栏地址专栏介绍 适配器模式角色分析目标接口&#xff08;Target&#xff09;源接口&#xff08;Adaptee&#xff09;适配器&#xff08;Adapter&#xff09; 核心思想应用场景Java程序实现输出结果程序分析123 优…

【Python】基于OpenCV人脸追踪、手势识别控制的求生之路FPS游戏操作

【Python】基于OpenCV人脸追踪、手势识别控制的求生之路FPS游戏操作 文章目录 手势识别人脸追踪键盘控制整体代码附录&#xff1a;列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 视频&#xff1a; 基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 手…

两文学会scala (下)|保姆级别教程(超详细)

上文内容概括&#xff1a; Scala 概述与安装、变量、运算符、流程控制、函数式编程、面向对象 上文链接&#xff1a;两文学会scala &#xff08;上&#xff09;&#xff5c;保姆级别教程&#xff08;超详细&#xff09;_超爱慢的博客-CSDN博客 目录 第7章 集合 7.1 集合简介…

增强负样本提高CPI表现

确定CPI对药物发现至关重要。由于实验验证CPI通常是耗时和昂贵的&#xff0c;计算方法有望促进这一过程。可用CPI数据库的快速增长加速了许多用于CPI预测的机器学习方法发展。然而&#xff0c;它们的性能&#xff0c;特别是它们对外部数据的泛化性&#xff0c;经常受到数据不平…

根据您的数据量定制的ChatGPT,改变客户服务的方式

在当今竞争激烈的商业环境中&#xff0c;提供优质的客户服务对于保持忠诚的客户群和推动业务增长至关重要。客户满意度已成为各行各企业的首要任务&#xff0c;因为它直接影响客户留存和品牌声誉。随着技术的进步&#xff0c;公司不断探索创新解决方案&#xff0c;以增强客户服…

Mac 挂载 Alist网盘

挂载服务器的Alist 网盘到 Mac mac,使用的是 CloundMounter 这个软件进行挂载 http://ip:port/dav/ 需要在末尾加上 /dav/ 在一些服务器上&#xff0c;为了提供WebDAV服务&#xff0c;需要在URL地址的末尾添加"/dav/“。这是因为WebDAV协议规定了一些标准的URL路径&#x…

1024 科学计数法

一.问题&#xff1a; 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法&#xff0c;其满足正则表达式 [-][1-9].[0-9]E[-][0-9]&#xff0c;即数字的整数部分只有 1 位&#xff0c;小数部分至少有 1 位&#xff0c;该数字及其指数部分的正负号即使对正数也必定明确…

SpringBoot的流浪宠物系统

采用技术:springbootvue 项目可以完美运行

数控车床中滚珠螺母的维护保养方法

滚珠螺母是一种高精度的机械部件&#xff0c;广泛应用于各种机械设备中&#xff0c;包括数控机床、精密轴承座、滚珠丝杆等&#xff0c;滚珠螺母作为数控机床中的进给系统的重要组件&#xff0c;其维护保养方法对于机床的精度和使用寿命具有重要影响。以下为数控机床滚珠螺母维…

1800_vim的宏录制功能尝试

全部学习信息汇总&#xff1a; GreyZhang/editors_skills: Summary for some common editor skills I used. (github.com) 最近5年多来&#xff0c;我emacs的编辑器用的还是比较多的。我的配置基本上是一个spacemacs&#xff0c;然后根据自己的需求增加了一丁点儿的其他配置。而…