微服务05-Docker基本操作

这篇具有很好参考价值的文章主要介绍了微服务05-Docker基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker的定义

1.什么是Docker

Docker是一个快速交付应用、运行应用的技术:

  • 可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统
  • 运行时利用沙箱机制形成隔离容器,各个应用互不干扰
  • 启动、移除都可以通过一行命令完成,方便快捷

2.为什么要用Docker

例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。
微服务05-Docker基本操作,微服务,微服务,docker,架构

Docker·为了解决依赖的兼容问题的,采用了两个手段:

  • 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包

  • 将每个应用放到一个隔离容器去运行,避免互相干扰

微服务05-Docker基本操作,微服务,微服务,docker,架构
这样打包好的应用包中,既包含应用本身,也保护应用所需要的Libs、Deps,无需再操作系统上安装这些,自然就不存在不同应用之间的兼容问题了。

Docker如何解决开发、测试、生产环境有差异的问题?

  • Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行

Docker的基本操作

1 Docker命令

常见的镜像操作命令如图:
微服务05-Docker基本操作,微服务,微服务,docker,架构

举例:
需求:从DockerHub中拉取一个nginx镜像并查看

1)首先去镜像仓库搜索nginx镜像,比如DockerHub:

微服务05-Docker基本操作,微服务,微服务,docker,架构

2)根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull nginx

微服务05-Docker基本操作,微服务,微服务,docker,架构

3)通过命令:docker images 查看拉取到的镜像
微服务05-Docker基本操作,微服务,微服务,docker,架构

保存、导入镜像
命令格式:

docker save -o [保存的目标文件名称] [镜像名称]

1)使用docker save导出镜像到磁盘

运行命令:

docker save -o nginx.tar nginx:latest

结果如图:

微服务05-Docker基本操作,微服务,微服务,docker,架构

2)使用docker load加载镜像

先删除本地的nginx镜像:

docker rmi nginx:latest

然后运行命令,加载本地文件:

docker load -i nginx.tar

结果:

微服务05-Docker基本操作,微服务,微服务,docker,架构

2 容器相关命令

容器操作的命令如图:
微服务05-Docker基本操作,微服务,微服务,docker,架构
容器保护三个状态:

  • 运行:进程正常运行
  • 暂停:进程暂停,CPU不再运行,并不释放内存
  • 停止:进程终止,回收进程占用的内存、CPU等资源

其中:

  • docker run:创建并运行一个容器,处于运行状态

  • docker pause:让一个运行的容器暂停

  • docker unpause:让一个容器从暂停状态恢复运行

  • docker stop:停止一个运行的容器

  • docker start:让一个停止的容器再次运行

  • docker rm:删除一个容器

举例
创建并运行nginx容器的命令:

docker run --name containerName -p 80:80 -d nginx

命令解读:

  • docker run :创建并运行一个容器
  • –name : 给容器起一个名字,比如叫做mn
  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器
  • nginx:镜像名称,例如nginx

这里的-p参数,是将容器端口映射到宿主机端口。

默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。

现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了:
微服务05-Docker基本操作,微服务,微服务,docker,架构

我们可以通过docker logs 容器名字 来查看日志

微服务05-Docker基本操作,微服务,微服务,docker,架构

  1. 先利用镜像产生容器,然后再对容器进行命令执行模式
    微服务05-Docker基本操作,微服务,微服务,docker,架构

exit退出容器

docker stop 容器名称:停掉容器名称,直接死掉

docker ps:默认查看运行中的容器

docker ps -a:查看所有容器

docker start 容器名字:开始容器,停掉的容器再开始

微服务05-Docker基本操作,微服务,微服务,docker,架构

总结:

微服务05-Docker基本操作,微服务,微服务,docker,架构
docker exec -it 容器名字 命令:是进入容器后修改文件,因为容器是隔离性的,所以我们不能使用vi命令,非常不方便修改,而且修改时没有日志记录的;

数据卷

出现问题:多个容器修改困难

微服务05-Docker基本操作,微服务,微服务,docker,架构

解决方案:

我们可以利用数据卷(是一个虚拟目录),将容器挂载到数据卷上,而数据卷映射文件系统:

所以我们改动主机的文件系统,那么容器就会改变:因为容器挂载到了数据卷上->映射在主机文件系统上;

主机文件系统位置:在创建数据卷的时候就自动设置了(数据卷相当于代理帮你自动设置位置),实际上跟你你设置的数据卷名字有关;

容器挂载数据卷位置:通过创建容器的-v参数设置

微服务05-Docker基本操作,微服务,微服务,docker,架构
微服务05-Docker基本操作,微服务,微服务,docker,架构
容器删除,数据卷不会被删,这样有利于数据的保存与维护(直接改变数据卷,也就是可以通过主机修改数据——>容器升级),较为安全;

操作数据卷常见命令

微服务05-Docker基本操作,微服务,微服务,docker,架构

作用:

将容器与数据分离,降低耦合,方便操作容器内的数据(->通过主机进行操作),方便数据维护升级——>容器删除,数据卷依然在;

注意:

docker volume prune相当于强制删除卷(未使用)

docker volume rm xx:指定删除

练习数据卷操作:

微服务05-Docker基本操作,微服务,微服务,docker,架构

挂载数据卷

微服务05-Docker基本操作,微服务,微服务,docker,架构

如果此时我将数据卷删除的话,创建容器直接设置数据卷挂载位置,docker非常智能会自动创建没有的数据卷
微服务05-Docker基本操作,微服务,微服务,docker,架构

练习:创建并且运行mysql容器,将宿主机目录挂载到容器(目录挂载)

微服务05-Docker基本操作,微服务,微服务,docker,架构
步骤:

通过mysql镜像启动mysql容器,设置主机挂载目录的位置以及容器挂载的位置(一一对应的感觉,没有代理帮你管理,自己设置两边的位置)

docker run --name mysql -p 3308:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25

微服务05-Docker基本操作,微服务,微服务,docker,架构

目录挂载与数据卷挂载的区别

微服务05-Docker基本操作,微服务,微服务,docker,架构

微服务05-Docker基本操作,微服务,微服务,docker,架构文章来源地址https://www.toymoban.com/news/detail-707054.html

到了这里,关于微服务05-Docker基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】Docker基本操作

    docker 发展历史 https://www.cnblogs.com/rongba/articles/14782624.html Docker概述 Docker是一个 开源的应用容器引擎 ,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 Docker 的容器技术可以在一台主机上轻松 为任何应用创建一

    2024年04月23日
    浏览(23)
  • Docker的基本操作

    拉取 nginx 查看镜像 保存镜像 删除镜像 加载镜像 -i 可以输出日志 -q 不输出日志内容 搜索镜像 实例 创建运行一个容器 创建一个NGINX端口 查看日志 进入容器 进入容器后可以像在操作系统中一样的操作,输入命令等

    2024年02月07日
    浏览(36)
  • docker基本操作

    一、安装docker(参考网址:https://cloud.tencent.com/document/practice/213/46000) 黑马程序员文档地址:https://b11et3un53m.feishu.cn/wiki/MWQIw4Zvhil0I5ktPHwcoqZdnec (1)、卸载旧版 (2)、配置Docker的yum库 安装成功后,执行命令,配置Docker的yum源: (3)、安装Docker (4)、启动和校验 (5)、配置镜

    2024年03月10日
    浏览(38)
  • 【Docker】基本操作

    参考:Docker-从入门到实践 Docker镜像仓库地址:格式一般为 域名/IP[:端口号] ,默认地址是Docker Hub 仓库名:为两段式名称,即 用户名/软件名 ,对于Docker Hub,不给出用户名就默认为library。 现在对上述命令进行解释 -i :交互式操作, -t :终端 --rm :容器推出后随之将其删除

    2024年02月04日
    浏览(19)
  • Docker基本操作命令(一)

    docker search命令搜索存放在 Docker Hub中的镜像,此命令默认Docker会在Docker Hub中搜索镜像,可以配置了其他镜像仓库 [root@zch01 ~]# docker search centos NAME:镜像仓库名称 DESCRIPTION:镜像仓库描述 STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars OFFICAL: 表示是否为

    2024年02月12日
    浏览(31)
  • Docker基本入门操作

    Docker是一个开放源代码软件,用于自动化应用程序的部署,它允许开发者将应用程序打包到容器中,这些容器在任何地方都能被快速部署和运行。容器虚拟化了操作系统层,使不同的应用程序能够在相同的硬件上安全地运行,彼此之间不发生冲突。为了帮助您开始使用Docker,

    2024年04月16日
    浏览(37)
  • docker 基本用法-操作镜像

    访问 dockerhub:https://registry.hub.docker.com 如果不能拉取 方法 1.需要配置配置镜像加速器 方法 2:把之前下载好的镜像通过 docker load -i 解压出来: 把 centos.tar.gz、nginx.tar.gz 镜像包上传到 xuegod63 机器的 root 目录,通过 docker load - i 解压镜像 [root@xuegod63 ~]# docker load -i /root/nginx.tar.

    2024年02月07日
    浏览(30)
  • docker安装与镜像基本操作

    目录 前言 一.部署docker 1.安装依赖包 2.设置阿里云镜像源 3.安装docker -ce社区版 4.启动docker 5.设置镜像加速 二.设置网络优化 三.docker镜像操作 1.搜索镜像 2.获取镜像 3.查看镜像 4. 查看所有状态容器 5.搜索镜像 6.下载镜像

    2023年04月20日
    浏览(42)
  • docker的安装以及基本操作

    Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术,可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中,形成一个轻量级、独立的可执行单元。 开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VM

    2024年02月11日
    浏览(31)
  • Linux中docker的基本操作

    是一个开源的应用 容器引擎 ,基于go语言开发并遵循了apache2.0协议 是在Linux容器里运行应用的开源工具 是一种轻量级的“虚拟机” docker的容器技术可以在一台虚拟机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器 docker的logo设计为蓝色的鲸鱼,拖着许多集

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包