ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker:第七章:Docker搭建私服-本地镜像库,成功入职头条月薪35K

2021-11-13 13:02:16  阅读:177  来源: 互联网

标签:入职 5000 tomcat 私服 registry 镜像 Docker docker



创建目录,这里以/opt/data/registry为宿主机存储的目录

mkdir -p /opt/data/registry

运行镜像,配置端口以及将容器内的数据映射挂载在自己指定的目录上

docker run -d -v /opt/data/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name private_registry registry:latest

参数说明:

-d : 让容器可以后台运行

-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;

-v:把宿主机的opt/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;

-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了(前者是宿主机的端口号,后者是容器的端口号);

–restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;

–name private_registry:创建容器命名为private_registry,你可以随便命名;

registry:latest:这个是刚才pull下来的镜像;

如果成功执行,则表示我们的docker私有仓库搭建成功。

下面对这条命令的部分内容做下说明。

/registry表示宿主机目录,该目录如果不存在会自动创建。

docker -v 宿主机目录:容器目录

查看是否启动成功

sudo docker ps

这个时候镜像运行成功说明本地的镜像仓库就已经弄好了,是不是很快,别急,还要把自个的项目弄到本地镜像仓库上面去,到时候就可以直接通过命令拉取本地镜像仓库运行项目了,下面我以tomcat作为我们实际运行的项目为例。

在客户端制作tomcat镜像

===========================================================================

docker pull tomcat

这个时候,如果已经成功拉取tomcat之后,后面需要把我们客户端的tomcat推送到我们的私服上面去,到时候我们就可以直接通过私服拉取,而不是官方的docker hub,官方的私库需要自己去注册账号并且登录上去做操作,我们这里主要讲本地镜像仓库。那有同学可能会问了,服务器掉一个东西,肯定是需要登录或者给个什么密钥才能允许操作的呀,这就是后面我们要配置的东西了,docker私有仓库服务器,默认是基于https传输的,所以我们需要在客户端做相关设置,不使用https传输。

修改/etc/docker/daemon.json文件

========================================================================================

vi /etc/docker/daemon.json

将私服的ip替换进去

{

“registry-mirrors”: [“https://njrds9qc.mirror.aliyuncs.com”],

“insecure-registries”:[“你私服本地镜像仓库的ip:5000”]

}

重置配置

systemctl daemon-reload

重启docker

systemctl restart docker

制作属于自个的tomcat镜像

============================================================================

查看tomcat镜像id


docker images

![在这里插入图片描述](https://www.icode9.com/i/ll/?i=e9561b3b607f4b81b8768b78d5b15c47.png?x-o

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

ss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAamF2YV93eGlk,size_20,color_FFFFFF,t_70,g_se,x_16)

开始制作:docker tag tomcat镜像id 私服本地镜像仓库的ip:5000/tomcat


#我的镜像id是b0e0b0a92cf9,ip我就不暴露了

docker tag b0e0b0a92cf9 私服ip:5000/tomcat

推送到私服本地镜像仓库上

=========================================================================

docker push 私服ip:5000/tomcat

客户端(轻量)和服务器(G5)上分别执行curl -X GET http://私服ip:5000/v2/_catalog,查看私有仓库的镜像信息,都能见到相同的信息

================================================================================================================================================

curl -X GET http://私服ip:5000/v2/_catalog

{“repositories”:[“tomcat”]}

验证

===============================================================

在轻量服务器上删除tomcat镜像


docker rmi 私服ip:5000/tomcat tomcat

创建一个容器,映射8080端口


docker run --name tomcat001 -p 8080:8080 -idt 私服ip:5000/tomcat

使用轻量服务器的ip加端口访问8080,正常可以是不是会出现以下的页面


在这里插入图片描述由于我们是一个新的服务器,所以出现了linux中docker安装tomcat,linux中tomcat访问404问题的情况

通过日志排查

dockerlogs -f mytomcat --tail=500

通过端口排查

docker port tomcat

进入docker运行的tomcat目录中

docker exec -it tomcat运行的id /bin/bash

通过命令

ls -l

发现有一个webapps目录和webapps.dist目录

进入webapps目录并ls -l发现为空

进入webapps.dist目录发现root文件夹

接下来,删除webapps目录,更改webapps.dist目录名为webapps

rm -rf webapps

mv webapps.dist webapps

发现还是404,后面想起还有jdk没有安装

标签:入职,5000,tomcat,私服,registry,镜像,Docker,docker
来源: https://blog.csdn.net/m0_63102464/article/details/121302938

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有