优秀的编程知识分享平台

网站首页 > 技术文章 正文

kubernetes基础知识之docker容器和镜像

nanyue 2024-09-12 15:56:34 技术文章 11 ℃

kubernetes进入容器命令:

kubectl exec -it $pod_name -n $namespace -- /bin/bash

使用docker镜像创建docker容器:

docker run --name my-nginx -p 8080:80 --restart always -d nginx:latest

-p指定端口号,前面的8080号端口是映射到宿主机上的端口,后面的80号端口是docker容器的端口。

-d参数指定docker镜像,nginx是镜像的名称,latest是镜像的标签。

~~~我是华丽的分隔线~~~

docker images查看镜像

docker pull mysql 拉取镜像,默认拉取latest标签的镜像

唯一确定镜像:

①:IMAGE ID 镜像ID

②:REPOSITORY:TAG。

导出docker镜像:

docker save -o nginx.tar nginx:latest (镜像名称:标签)

docker 加载镜像:

docker load -i nginx.tar

~~~我是华丽的分隔线~~~

docker 查看仓库信息:

docker info | grep Registry

docker可以从官方拉取一个Registry服务,去启动一个docker Registry仓库镜像服务。然后通过kubernetes master可以通过pull/push去拉取/推送一个docker镜像。

docker pull registry 拉取registry镜像,默认镜像标签是latest。

启动镜像注册服务的容器:

docker run --name registry -p 5000:5000 --restart always -d registry:latest

--restart参数是重启docker时,自动重启docker相关容器。

~~~我是华丽的分隔线~~~

docker tag nginx:latest localhost:5000/nginx:latest

docker的tag标签可以理解成一个快捷方式。

docker 推送镜像到docker registry 镜像仓库。

docker push localhost:5000/nginx:latest

查看镜像仓库内的镜像元数据:

curl -X GET http://192.168.116.168:5000/v2/_catalog

curl -X GET http://192.168.116.168:5000/v2/nginx/tags/list

更换docker registry镜像仓库中的镜像地址为IP,不能为localhost。

docker tag nginx:latest 192.168.116.168:5000/nginx:latest

查看docker 镜像:

docker images

镜像仓库提供外部访问,不能使用内部的localhost这种内网地址。

docker tag nginx:latest 192.168.116.168:5000/nginx:latest

docker push 192.168.116.168:5000/nginx:latest

docker默认不支持向http仓库推送,需要做成https的。

可以通过修改daemon的方式跳过证书验证。

vim /etc/docker/daemon.json

加上:

,

"insecure-registries": [

"192.168.116.168:5000

]

然后重启docker服务:

systemctl restart docker

再次执行docker镜像推送:

docker push 192.168.116.168:5000/nginx:latest

docker ps -a 可以查看到退出状态的docker 容器。

~~~我是华丽的分隔线~~~

退出Exited状态的docker容器,可以使用start命令启动:

docker start nginx:latest

docker删除镜像:

docker rmi nginx:latest (镜像名称)

docker rmi ?镜像ID 是删除镜像源文件

docker rmi ?REPOSITORY:TAG是删除镜像的快捷方式。

~~~我是华丽的分隔线~~~

查看运行状态的容器列表:

docker ps

查看所有状态的容器列表:

docker ps -a

docker run命令可以指定容器的最大内存限制,使用--memory=500m这种方式指定。

鼓励的话语:人小物也要有梦想,不要害怕无法实现,最起码你要敢想,一个连想都不敢想的人,老天又怎么会眷顾他呢?这个世界上没有那么多天赋异禀,优秀的人总是努力地翻山越岭。

最近发表
标签列表