当前位置:首页 > CN2资讯 > 正文内容

我的世界docker镜像包下载

1天前CN2资讯

本系列为Docker的学习笔记,内容比较精简,主要用于快速复习和随时查询。计划分六个章节内容:

  • 安装、常用命令和基本概念理解
  • 常用应用程序的容器部署
  • 制作镜像的两种方式(容器转镜像和Dockerfile)
  • 布署一个ASP.NET Core项目
  • 服务编排Docker compose

 

 

一、安装Docker

  • 更新yum包:yum update
  • 安装yum配套的工具包:yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker:yum install -y docker-ce
  • 查看docker版本,验证是否安装成功:docker -v
  • 配置镜像加速器:登陆阿里云>进入窗口镜像服务>镜像工具>镜像加速器>(CentOS)>复制到shell中执行
  •  

     

    二、Docker服务相关命令
    1、启动/停止/重启/后台运行/查看服务状态
    systemctl 【start | stop | restart | enable | status】 docker

     

     

    三、镜像相关命令
    1、查看本地所有镜像/搜索远程镜像/拉取镜像/删除镜像
    docker 【images | search (redies) | pull (redies:7) | rmi (redis:7 | e42dd4e79c7) | 】

    2、查看所有镜像ID
    docker images -q

    3、删除所有镜像
    docker rmi `docker images -q`

     

     

    四、容器相关命令

    1、创建容器
    docker run 【-it | -id】 --name=c1 --restart=always centos:7 /bin/bash
    -it:创建容器(交互式),立即进入容器,并开启一个终端,exit退出容器后,容器立即关闭。-i为进入容器,-t为交互式。
    -id:创建容器(守护式),并一直在后台运行,进入容器并exit退出后,容器不会关闭。-i为进入容器,-d为守护式(后台运行)
    --name:容器命名

    --restart:docker重启时,容器自动启动
    /bin/bash:进入容器的初始化指令,打开shell脚本窗口。如果进入mysql的容器,直接跟mysql命令,直接进入mysql客户端。

    2、查看正在运行的容器:
    docker ps

    3、查看正在运行和已经退出的容器:
    docker ps -a

    4、进入容器
    docker exec -it c2 /bin/bash
    -it:进入容器,并开启一个终端
    c2:容器名称
    /bin/bash:进入容器的初始化指令,打开shell脚本窗口

    5、退出容器
    exit

    6、启动容器/关闭容器/删除容器/查看容器信息。注:start容器后,容器自动转为守护式
    docker 【start | stop | rm | inspect】 c1

    7、查看所有容器ID
    docker ps -aq

    8、删除所有容器
    docker rm `docker ps -aq`

     9、查看日志(c1为容器名)。-f,一直跟踪日志

    docker logs [-f] c1

    五、数据卷相关命令

    1、创建容器时配置数据卷
    docker run -id --name=c1 -v /root/data_linux:/root/data_container centos:7 /bin/bash
    -v:设置数据卷,如果要挂载到多个数据卷,可以多次-v;如果要挂载多个容器数据目录,则每个容器创建时挂载相同的数据卷即可
    /root/data_linux:/root/data_container:冒号前为数据卷目录的绝对路径,冒号后为容器数据目录的绝对路径
    容器删除后:容器数据丢失,但数据卷仍然在。重新创建容器时,重新挂载到数据卷目录,即可恢复容器数据

    数据卷地址:一般通过宿主机的绝对地址指定数据卷的本地地址。也可以只指定数据卷名称,如【-v volumeName:/root/data_container】,这样docker会在宿主机/var/lib/docker/volumes目录下创建相应的数据卷。

    一个应用需要挂载哪些数据卷:可以通过docker的官方镜像仓,查看镜像文档,一般需要挂载数据、配置、初始化数据等

    2、配置数据卷容器:
    ①创建数据卷容器(/volume可以自己定义):
    docker run -id --name=c3 -v /volume centos:7 /bin/bash
    ②创建c1和c2容器,并挂载到c3上(--volumes-from为设置属性命令)
    docker run -id --name=c1 --volumes-from=c3 centos:7 /bin/bash
    docker run -id --name=c2 --volumes-from=c3 centos:7 /bin/bash
    完成以上两个步骤,inspect查看c3、c1和c2,找到以下信息
    "Source": "/var/lib/docker/volumes/de83e5ea073ca277882694995f88137b2933e1f695362590103760f166923b04/_data",
    "Destination": "/volume",
    如上,Source目录即为在宿主机上自动创建的数据卷,Destination即为容器数据目录

     

    六、容器网络相关命令

    1、查看所有容器网络

    docker network ls

    2、查看本机网卡(每个容器网络,都有一个相对应的虚拟网卡,还有系统的其化虚拟网卡)

    ip addr

    3、查看容器的网络信息。c1为容器名,其中有一项“NetWork”,描述了容器的网络信息。

    docker inspect c1

    4、创建/删除/清除未使用/查看容器网络。n1为网络名。

    docker network 【create | rm | prune | inspect】 n1

    5、加入/移出/查看容器网络,n1为网络名,c1为容器名。一个容器可以加入多个虚拟网络。

    docker network 【connect | disconnect】 n1 c1

    6、创建容器时就加入网络。这种方式,容器只会加入指定网络,而不会加入默认的“docker0”网络。n1为网络名称,需要先创建。

    docker run -d --name mysql -p 3306:3306 --network n1 mysql:5.7 

     

     

    七、基本概念的理解

  • 镜像:程序安装包,类似于windows安装会经常接触到的iso文件。
  • 远程镜像:官方hub服务器上的镜像,hub类似于javascript的npm、NET的nuget。远程镜像要先拉取到本地计算机,因hub在国外,速度比较慢,所以一般要设置国内的镜像加速。镜像加速器,就是国内服务商对hub服务器的克隆。当然,也可以创建自己的私有镜像服务器。
  • 本地镜像:远程镜像要拉取到本地计算机,才可以创建容器。本地镜像,类似于类,容器就是用这个类创建的实例。所以同一个版本的镜像,只有一个;而相应的容器可以有很多个。
  • 容器:使用本地镜像创建容器后,程序在容器环境中运行。容器即“容器”这个词汇本身的含义,又有运行在容器中的程序的含义。容器中运行的程序,不限于应用程序,也可以是操作系统,比如我们在CentOS上安装docker,而在docker的容器里,我们可以再运行一个CentOS。同一个镜像,可以创建多个容器,即在一个docker里我们可以运行多个相同的程序,比如运行多个redis,容器之间是沙箱隔离的。
  • 宿主机:docker运行所在的Linux服务器
  • 数据卷:解决容器中产生的数据的持久化保存、容器之间数据交互、容器与外部之间数据交互问题。将容器中的数据目录挂载到宿主机的文件目录,并使这两个目录数据保持同步,宿主机中的这个文件目录称之为数据卷。容器删除后,容器数据丢失,但数据卷的数据仍然保留。一个数据卷可以被多个容器挂载,一个容器也可以挂载到多个数据卷,多对多关系
  • 数据卷容器:多容器数据交互,可以通过挂载到同一个数据卷上来实现。也可以在容器和数据卷之间,再创建一个数据卷容器。容器挂载到数据卷容器,数据卷容器再挂载到数据卷,从而实现数据交互。即“容器>数据卷容器>数据卷”
  • 容器网络:docker内部可以创建虚拟网络,默认的虚拟网络为“docker0”,处于同一虚拟网络的容器,可以通过自动分配的虚拟IP地址相互访问。创建容器时,如果没有指定网络,容器会自动加入默认的“docker0”的网络,但这种方式有个问题,容器之间只能通过IP地址相互访问,而且IP地址是docker随机分配的,容器重建后,IP地址会变化。为解决这个问题,可以自定义一个虚拟网络,然后将容器加入虚拟网络后,同一虚拟网络的容器,可以通过容器名称相互访问。
  • docker核心意义:①应用程序和依赖环境一起部署在容器中,可以发布到任何Linux服务器上,解决“水土不服”的问题;②使用文件层(镜像)叠加,重用文件层(镜像),区别于虚拟机,可以有效利用资源,而且效率非常高。
  •  

     

    八、最后上图理解

     



      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/22127.html

      分享给朋友:

      “我的世界docker镜像包下载” 的相关文章

      微信海外服务器助力全球化业务拓展与用户体验优化

      微信海外服务器是微信在全球范围内部署的技术基础设施,旨在支持其海外业务的发展。这些服务器不仅是数据存储的中心,还承担着用户信息处理和互动的各种功能。随着技术的不断进步,微信的使用需求也在全球范围内快速增长,这种现象驱动着微信不断扩展其海外服务器的网络。 我们时常看到,微信与WeChat的分拆让用户数...

      RackNerd与ColoCrossing的对比分析:选择适合你的数据中心服务

      RackNerd vs ColoCrossing概述 在当前的互联网服务市场中,RackNerd与ColoCrossing都是备受关注的数据中心服务提供商。它们各自的成长背景和市场定位都显示出一些显著的差异。RackNerd成立于2019年,专注于提供低价 VPS 和服务器租用服务,屡次推出吸引人的...

      全球云服务厂商排名分析:选择适合你的云服务平台

      在如今这个数字化快速发展的时代,云服务已经成为企业运营的核心。全球云服务市场正在以前所未有的速度增长,吸引了众多企业选择不同的云服务提供商。作为用户,当我们谈论云服务厂商时,不可避免地会提到几个行业巨头,显然,他们的市场份额和影响力在整个行业中是不可忽视的。 近年以来,亚马逊网络服务(AWS)稳居全...

      Cloudflare 菲律宾节点:提升网络体验与速度的解决方案

      在当今数字化时代,每一个在线体验都至关重要。CloudFlare的出现,正是为了满足这一迫切的需求。作为全球知名的CDN(内容分发网络)服务提供商,CloudFlare不仅致力于加速网站的加载速度,也为用户提供安全防护服务。借助全球分布的节点,CloudFlare能够将用户请求快速而安全地送达目的地...

      BBR对国内网站的实际作用与应用效果分析

      BBR(Bottleneck Bandwidth and Round-trip propagation time)算法是由Google推出的一种TCP拥塞控制算法。它的设计初衷是为了优化网络连接的传输速率和稳定性,尤其是在面临高延迟和波动网络条件时表现优异。可能的很多朋友会问,BBR到底是个什么东西...

      甲骨文云免费IPv6服务详解:轻松配置与应用技巧

      甲骨文云,作为一个综合性的云服务提供商,正迅速崛起于众多的云技术平台之中。它不仅拥有强大的数据处理能力,还提供了多种免费的云服务选项,让个人和企业都能以更低的成本探索并使用云计算的强大功能。首先,我对甲骨文云的快速适应能力和多种灵活服务感到印象深刻,尤其是它的免费套餐项目,吸引了不少用户前来试用。...