目录

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

# 添加docker用户组,一般已存在,不需要执行

sudo groupadd docker

# 将登陆用户加入到docker用户组中

sudo gpasswd -a $USER docker

# 更新用户组

newgrp docker

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

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

///start//

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

        下载网址:ubuntu Tags | Docker Hub

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

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

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

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

#apt-get update
# apt-get install iputils-ping
# apt-get install net-tools

      安装ping结果如下:

      c>添加文件file

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

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

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

//重新打开一个命令窗口。
//下面-a,-m的参数可以省略不写。d31795a49d56 为当前容器ID ,ubuntu:v2为新镜像名称
$ sudo docker commit -a "username" -m "description" d31795a49d56 ubuntu:v2

//将镜像保持为ubuntu_v2.tar文件,以供在其他电脑中导入使用
$ 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、将容器CONTAINER中SRC_PATH路径下内容拷贝到主机DEST_PATH目录下
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
OPTIONS说明:-L :保持源目标中的链接

将容器ID为96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。96f7f14e99ab可以使用docker ps查看

docker cp  96f7f14e99ab:/www /tmp/


//2、将主机SRC_PATH路径下内容拷贝到容器DEST_PATH下
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

docker cp /www/runoob 96f7f14e99ab:/www/

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

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

具体可参考连接:

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

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

//挂载方法1
docker run -it -v /home/Downloads:/home/mount ubuntu64:v1 /bin/bash
//挂载方法2
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如下:

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

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

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

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

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

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

  解决命令如下:

$ docker run -itd runoob/ubuntu:v1 /bin/bash    //创建一个后台运行交互的容器
$ docker ps    //查看上一步启动的容器ID
$ 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部署

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐