码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker与k8s的简介与用法


    目录

    1、docker简介参考如下:

    2、docker的发展历史与虚拟机的比较,docker的升级K8S,参考如下:

    3、docker的安装

    4、docker下载镜像加速(更新下载源下载网络资源镜像的资源会加快)

    5、把用户 添加进docker组,这样每次输入docker命令就可以不用添加sudo

    6、docker的制作与使用参考如下:

     a>主机与容器之间拷贝数据命令如下:

     b>docker在容器中使用主机显卡:命令:

     c>docker挂载主机目录命令:

     d>运行容器中删除文件,打包新镜像,新镜像内存空间并没有减小

     7、docker管理者之k8s的介绍与操作参考如下:

     8、K8s的调试方法之K9s 


    1、docker简介参考如下:

    docker深入浅出_分布式架构之巅的博客-CSDN博客_深入浅出docker

    2、docker的发展历史与虚拟机的比较,docker的升级K8S,参考如下:

    容器(docker&k8s)技术简述_老十三笔记的博客-CSDN博客_容器技术

    3、docker的安装

    Ubuntu 22.04中安装docker及ROS镜像,以及在docker中运行rviz_HappinessWord的博客-CSDN博客_docker rviz

    4、docker下载镜像加速(更新下载源下载网络资源镜像的资源会加快)

    docker下载太慢怎么办?(更换镜像源)_曾尚仁的博客-CSDN博客

    5、把用户 添加进docker组,这样每次输入docker命令就可以不用添加sudo

    1. # 添加docker用户组,一般已存在,不需要执行
    2. sudo groupadd docker
    3. # 将登陆用户加入到docker用户组中
    4. sudo gpasswd -a $USER docker
    5. # 更新用户组
    6. newgrp docker

    6、docker的制作与使用参考如下:

    将当前下载的镜像修改后制作成新的镜像,制作过程如下:

    ///start//

          (1)下载docker hub上的镜像资源,选择最小的系统镜像资源。

            下载网址:ubuntu Tags | Docker Hub

           (2)进入下载的镜像ubuntu:

       (3)在当前镜像中进行修改或者下载所需环境。

           a>下载软件前,可以更新镜像源,加快下载速度。

           b> 若要使用ping命令,需要安装ping相关的包。若不需要,可不用安装,ping命令并不影响   容器中网络的连接。安装ping的命令如下:

    1. #apt-get update
    2. # apt-get install iputils-ping
    3. # apt-get install net-tools

          安装ping结果如下:

          c>添加文件file

        (4)将上述修改保存为新的镜像。

             从当前容器创建一个新的镜像,提交上面修改到本地docker节点,命令为:

              docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

    1. //重新打开一个命令窗口。
    2. //下面-a,-m的参数可以省略不写。d31795a49d56 为当前容器ID ,ubuntu:v2为新镜像名称
    3. $ sudo docker commit -a "username" -m "description" d31795a49d56 ubuntu:v2
    4. //将镜像保持为ubuntu_v2.tar文件,以供在其他电脑中导入使用
    5. $ sudo docker save -o ubuntu_v2.tar ubuntu:v2

     保存新的镜像结果如下:

     修改的文件如下:

     至此,新镜像文件 ubuntu_v2.tar已制作完成。

    导入制作镜像的命令为:$sudo docker load -i ubuntu_v2.tar

    导入镜像后,就可以通过镜像进入容器了,命令为:$sudo docker run -it ubuntu:v2

    ///end//

    附加:

     a>主机与容器之间拷贝数据命令如下:

    1. //1、将容器CONTAINER中SRC_PATH路径下内容拷贝到主机DEST_PATH目录下
    2. docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
    3. OPTIONS说明:-L :保持源目标中的链接
    4. 将容器ID为96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。96f7f14e99ab可以使用docker ps查看
    5. docker cp 96f7f14e99ab:/www /tmp/
    6. //2、将主机SRC_PATH路径下内容拷贝到容器DEST_PATH下
    7. docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
    8. 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
    9. docker cp /www/runoob 96f7f14e99ab:/www/

     b>docker在容器中使用主机显卡:命令:

    docker run --gpus all --name 容器名 -d -t 镜像id

    具体可参考连接:

    在docker容器中使用显卡_旺旺棒棒冰的博客-CSDN博客_docker 显卡

     c>docker挂载主机目录命令:

    1. //挂载方法1
    2. docker run -it -v /home/Downloads:/home/mount ubuntu64:v1 /bin/bash
    3. //挂载方法2
    4. docker run -it -v /home/Downloads:/home/mount ImageID /bin/bash

     通过参数-v实现挂载,冒号前为主机目录,冒号后面为容器中目录。 ubuntu64:v1为镜像的repository名和tag名。挂载方法2中ImageID为镜像的IMAGE ID。这些参考可以使用docker iamges命令查看。

    d>运行容器中删除文件,打包新镜像,新镜像内存空间并没有减小

          有时候需删除镜像中较大的文件,重新打包镜像。但是发现删除的文件内存还存在于新打包的镜像中,这样会导致打包的镜像越来越大,这是因为镜像会记录历史信息。

    解决办法:

    1、代替从容器中创建镜像的commit命令,使用export命令将当前容器中所有文件打包到tar文件中,这样就不会将记录信息打包到新的文件中,eg如下:

    1. //将容器IDa404c6c174a2打包到文件newContinaner.tar
    2. docker export -o newContinaner.tar a404c6c174a2

    需要注意的是export打包出的文件跟之前commit打包的文件不一样,如果要跟镜像一样使用需要继续按执行下面步骤。

       2、export出的文件,使用import从归档文件中创建镜像导入,eg如下:

    1. //从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4
    2. docker import newContinaner.tar runoob/ubuntu:v1

      3、这时若使用docker run -it ImageID创建运行的容器会出现错误:

      docker: Error response from daemon: No command specified.See 'docker run --help'.

      解决命令如下:

    1. $ docker run -itd runoob/ubuntu:v1 /bin/bash //创建一个后台运行交互的容器
    2. $ docker ps //查看上一步启动的容器ID
    3. $ docker run -it containerID //进入容器

    到此就跟之前操作一样了,可以使用commit命令打包镜像了。

    注:上面操作步骤参考的博文如下:

    删除docker容器中内容后打包镜像不变小_docker 删除文件后容器镜像大小不变_一米阳光zw的博客-CSDN博客

    4.docker导入导出镜像、容器,及启动容器失败解决方法【详细】_RQ_ghylls的博客-CSDN博客_docker import 无法启动

    进入正在运行的Docker容器的4种方式_hiekay的博客-CSDN博客_进入正在运行的容器

    关于镜像的其他操作可以参考下面的博文

    Docker 封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)_豆蔻二八的博客-CSDN博客_docker打包conda环境

    使用Docker制作镜像并推送到镜像仓库_guo_zhen_qian的博客-CSDN博客_docker 推送到仓库

    docker 复制命令_喜羊羊love红太狼的博客-CSDN博客_docker 复制

     Docker 教程 | 菜鸟教程 (runoob.com)

     7、docker管理者之k8s的介绍与操作参考如下:

    Kubernetes

    Kubernetes 深入学习(一) —— 入门和集群安装部署 - bojiangzhou - 博客园 (cnblogs.com)

     简单了解一下K8S,并搭建自己的集群 - 知乎

    k8s的一些基础命令_大陈子oc的博客-CSDN博客_k8s基础命令

    8、K8s的调试方法之K9s 

    k9s安装和体验_engchina的博客-CSDN博客_k9s部署

  • 相关阅读:
    什么是FSDM的九大数据概念
    团队协作中如何处理ConflictingBeanDefinitionException异常
    php面向对象-抽象一个类
    分布式文件系统-minio
    【新课程】PICO VR 交互开发指南
    Netty 介绍
    微信小程序调起微信支付
    了解常用测试模型 -- V模型、W模型
    C/C++大写字母的判断 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
    RocketMQ实战之同城机房负载消费
  • 原文地址:https://blog.csdn.net/hanxiaoyong_/article/details/127990519
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号