docker和k8s的简介、安装和用法
目录
2、docker的发展历史与虚拟机的比较,docker的升级K8S,参考如下:
4、docker下载镜像加速(更新下载源下载网络资源镜像的资源会加快)
5、把用户 添加进docker组,这样每次输入docker命令就可以不用添加sudo
d>运行容器中删除文件,打包新镜像,新镜像内存空间并没有减小
1、docker简介参考如下:
2、docker的发展历史与虚拟机的比较,docker的升级K8S,参考如下:
3、docker的安装
4、docker下载镜像加速(更新下载源下载网络资源镜像的资源会加快)
5、把用户 添加进docker组,这样每次输入docker命令就可以不用添加sudo
-
# 添加docker用户组,一般已存在,不需要执行
-
-
sudo groupadd docker
-
-
# 将登陆用户加入到docker用户组中
-
-
sudo gpasswd -a $USER docker
-
-
# 更新用户组
-
-
newgrp docker
6、docker的制作与使用参考如下:
将当前下载的镜像修改后制作成新的镜像,制作过程如下:
///start//
(1)下载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
具体可参考连接:
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命令打包镜像了。
注:上面操作步骤参考的博文如下:
关于镜像的其他操作可以参考下面的博文
7、docker管理者之k8s的介绍与操作参考如下:
Kubernetes 深入学习(一) —— 入门和集群安装部署 - bojiangzhou - 博客园 (cnblogs.com)
8、K8s的调试方法之K9s
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfgkegh
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13