在做ELK的时候,默认的logstash镜像不带mongodb的插件,所以我们需要基于官方镜像做些小改动
基本操作
先编写Dockerfile文件
FROM docker.elastic.co/logstash/logstash:6.4.2
RUN logstash-plugin install logstash-output-mongodb
然后build打包成镜像
docker build -t scj-logstash .
为什么方便上传到私库,打下tag
docker tag scj-logstashregistry.***.cn/scj/logstash:custom
然后通过push上传到私库
docker push registry.***.cn/scj/logstash:custom
问题出来了,报错
2844b5d6b228: Preparing
68ec774ab4f9: Preparing
868142a86f14: Preparing
c2963d7aca46: Preparing
27076abaeffe: Preparing
014883c6992d: Waiting
aadf55a08b04: Waiting
0adbc593e09b: Waiting
028e1c759faa: Waiting
769585085016: Waiting
5484536e4849: Waiting
1d31b5806ba4: Waiting
denied: requested access to the resource is denied
问题解决
很明显的问题是,我们没有登录我们的私库,我们需要做如下配置
把私库地址配置到docker配置文件中,最新版的docker需要修改/etc/containers/registries.conf这个文件
[registries.insecure]
registries = ["registry.***.cn"]
然后重启docker
systemctl restart docker
在push之前通过
docker login registry.***.cn
登录即可
我们这边docker私库用域名配置了,如果是ip:port的话 把registry.***.cn改为ip:port即可
网友评论