专业的编程技术博客社区

网站首页 > 博客文章 正文

容器镜像的使用和维护场景(容器镜像的使用和维护场景包括)

baijin 2024-08-29 12:32:18 博客文章 3 ℃ 0 评论

容器镜像的使用和维护场景

一:docker 标签重命名及删除

标志:

docker tag 3c5a05123222 k8s1:5000/registry:v1

删除:

docker rmi k8s1:5000/registry:v1

保存成新镜像

docker commit 535d36af187e nginx:v1


二:导出/导入镜像文件,体积大,保留所有记录

docker save centos6.6-ssh:hk > centso6.6-ssh-hk.tgz

docker load < centso6.6-ssh-hk.tgz

三:导出/导入镜像快照,体积小,丢失元数据及历史记录

#容器ID

docker export 535d36af187e > nginx-v1.tar

docker import - update < nginx-v1.tar

四:镜像推送

1.在本地登录到远程仓库

docker login --username=[用户名] -p=[密码] 远程ip:端口

2.给本地镜像打标签, [远程ip:端口/自定义路径/*]:[版本号] 就是:[标签名:版本号]

docker tag [镜像id] [远程ip:端口/自定义路径/*]:[版本号]

3.推送

docker push [远程ip:端口/自定义路径/*]:[版本号]

五:自定义nginx镜像

1.部署centos docker

docker run -it centos /bin/bash

2.进入docker 后,安装部署nginx

yum -y install epel-release

yum -y install nginx

3.打上镜像标识

docker commit e269d6fad2ea k8s4:5000/nginx:v1.12.3

4.创建Dockerfile

#Dockerfile

FROM k8s4:5000/nginx:v1.12.3

COPY index.html /usr/share/nginx/html/index.html

EXPOSE 80

CMD ["nginx","-g","daemon off;"] #需要后端保持运行的进程

5.建立镜像

docker build -t k8s4:5000/nginx:v1.0.2 .

6.推送到私有仓库

docker push k8s4:5000/nginx:v1.0.2

7.deployment 配置自由镜像仓库

containers:

- name: nginx-v1-deploy

image: k8s4:5000/nginx:v1.0.2

8.访问测试

curl 10.0.0.218:8001

version:v1.0.1

六:k8s使用本地镜像仓库

1.本地搭建docker 仓库

使用REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY环境变量,指定image的存储路径;必须把container里的这个存储路径,映射到host机器可访问的持久存储目录

docker 机器上部署registry

docker run -d -p 5000:5000 --restart=always --name="docker-image" --hostname="docker-image" -v /opt/docker-images:/registry -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/registry registry

本地主机上的目录,存储镜像

/opt/docker-images

2.把镜像存入本地仓库

把镜像存入本地registry

docker tag <pause镜像的imageID> <registry所在的hostname>:5000/pause-amd64:3.0
docker push <registry所在的hostname>:5000/pause-amd64:3.0

如:

docker.io/hello-world latest

①改标识

docker tag f2a91732366c localhost:5000/hello-world:v1

②传到本地仓库

docker push localhost:5000/hello-world:v1

docker tag 8fafd8af70e9 node1:5000/kubernetes-bootcamp:v1

docker push node1:5000/kubernetes-bootcamp:v1

运行:

kubectl run kubernetes-bootcamp --image=node1:5000/kubernetes-bootcamp:v1 --port=8080

其他节点上进行验证:

取消https验证

vi /etc/docker/daemon.json

{ "insecure-registries":["k8s4:5000"] }

systemctl daemon-reload

systemctl restart docker


docker run -it k8s4:5000/nginx:v1 /bin/bash



本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表