当前位置:   article > 正文

离线升级docker中的某个镜像——以etcd为例

离线升级docker中的某个镜像——以etcd为例

之前有个项目的程序统一在docker中运行,最近在做安全检查时,发现docker的部分image因为版本没有更新到最新而出现安全漏洞问题。

本贴记录linux环境中,升级docker中某个镜像的步骤,详情如下:

一、生成镜像的步骤(以etcd为例):

1.创建dockersfile $ touch Dockerfile

2.$ vim Dockerfile编辑Dockerfile文件,写入内容如下【需根据实际情况修改,以下仅为示例】:

  1. FROM alpine:latest
  2. ADD etcd /usr/local/bin/
  3. ADD etcdctl /usr/local/bin/
  4. RUN mkdir -p /var/etcd/
  5. RUN mkdir -p /var/lib/etcd/
  6. # Alpine Linux doesn't use pam, which means that there is no /etc/nsswitch.conf,
  7. # but Golang relies on /etc/nsswitch.conf to check the order of DNS resolving
  8. # (see https://github.com/golang/go/commit/9dee7771f561cf6aee081c0af6658cc81fac3918)
  9. # To fix this we just create /etc/nsswitch.conf and add the following line:
  10. RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
  11. EXPOSE 2379 2380
  12. # Define default command.
  13. CMD ["/usr/local/bin/etcd"]

3.下载etcd Releases $ wget https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz

4.解压文件:$ tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz

5.将etcd和etcdctl移动到和dockerfile同级目录:$ mv etcd-v3.3.10-linux-amd64/etcd etcd-v3.3.10-linux-amd64/etcdctl -t ./

6.构建etcd镜像docker build -t etcd .

7.查看构建好的镜像docker images

8. 导入镜像docker save 【镜像ID】 > 【镜像名】.tar

二、更新容器的镜像

  1. 首先通过docker load -i 镜像名,导入镜像(docker tag 【镜像ID】【镜像名称】:【tag版本信息】)
  2. docker images 查看镜像
  3. 修改docker-compose.yml涉及的服务中使用的镜像名称
  4. docker-compose up -d 服务名(docker-compose up -d

作用是创建与启动容器,会重建有变化的服务器(删掉以前建立的容器))

【补充说明】可以直接在可以联网的机器中使用docker pull nginx,下载好之后将nginx的镜像导出,在导入到非联网的机器中使用。

其他:

用语句启动nginx docker

docker run --name my_nginx -d -p 80:80 -v /docker_volumes/nginx/html:/usr/share/nginx/html -v /docker_volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v /docker_volumes/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro --restart=always nginx_1.24.0:latest

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/804736
推荐阅读
相关标签
  

闽ICP备14008679号