欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

低版本Docker升級高版本Docker的詳細教程及成功避坑

 更新時間:2023年05月11日 11:14:20   作者:互聯(lián)網-小阿宇  
如果我們使用docker來管理容器,那么保持docker引擎的更新將會是十分重要的,下面這篇文章主要給大家介紹了關于低版本Docker升級高版本Docker的詳細教程及成功避坑,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
操作系統(tǒng)服務
Centos7Docker

安裝低版本Docker

由于Centos7自帶的yum源中的Docker版本過低,先安裝默認的版本

yum -y install docker

查看Docker版本

[root@Ayu ~]# docker --version
Docker version 1.13.1, build 7d71120/1.13.1

宿主機創(chuàng)建掛載目錄

mkdir -p /test/nginx
cd /test/nginx && mkdir a b c d

下載鏡像并創(chuàng)建容器

docker pull nginx
docker run -itd -v /test/nginx:/test/nginx -p 80:80 --name nginx nginx

登錄容器查看映射

docker exec -it nginx bash
root@daea0c2b307b:/# cd /test/nginx
root@daea0c2b307b:/test/nginx# ls
a  b  c  d

訪問測試

在升級前確定幾個重點:

1.原配置文件備份一下

[root@localhost ~]# cat /usr/lib/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=docker-cleanup.timer

[Service]
Type=notify
NotifyAccess=main
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          --init-path=/usr/libexec/docker/docker-init-current \
          --seccomp-profile=/etc/docker/seccomp.json \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY \
	  $REGISTRIES
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
KillMode=process

[Install]
WantedBy=multi-user.target

2.清楚知道Docker的存儲目錄在哪里

默認目錄:/var/lib/docker

進行升級高版本docker

將低版本Docker卸載

不刪除 /var/lib/docker 目錄 就不會刪除已安裝的鏡像及容器

[root@localhost docker]# yum list installed | grep docker
docker.x86_64                       2:1.13.1-209.git7d71120.el7.centos @extras  
docker-client.x86_64                2:1.13.1-209.git7d71120.el7.centos @extras  
docker-common.x86_64                2:1.13.1-209.git7d71120.el7.centos @extras  
[root@localhost ~]# yum -y remove docker*

安裝yum管理工具

yum install -y yum-utils

添加國內鏡像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看軟件版本

yum list docker-ce --showduplicates|sort -r

docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable

安裝指定版本的docker

yum -y install docker-ce-18.03.1.ce-1.el7.centos
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker --version
Docker version 18.03.1-ce, build 9ee9f40

查看容器和鏡像依然存在

啟動容器測試:

報錯①Error response from daemon: Unknown runtime specified docker-runc

這是因為低版本升級到高版本之后不兼容 修改參數(shù)進行解決

報錯①解決方法:

更改/var/lib/docker/containers目錄中的文件參數(shù),把docker-runc替換為runc

命令:

grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

注:grep -rl:遞歸搜索目錄和子目錄,只列出含有匹配的文本行的文件名,而不顯示具體的匹配內容
xargs:銜接執(zhí)行之前得到的值

總體意思是把/var/lib/docker/containers中含有‘docker-runc’的文件搜索出來,并把‘docker-runc’字符為runc

重新啟動docker

systemctl restart docker

報錯②Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/09f8444f734ca18130ac4e2dafdcd3a19dd2986c9474bd0a50c87c0af559a831/merged: invalid argument

報錯②解決方法:

解決方案無非是SELINUX要么都關閉,要么都開啟

推薦修改CentOS下的/etc/selinux/config 將SELINUX=disabled 改成 SELINUX=permissive

vi /etc/selinux/config
# 找到SELINUX=enable修改為SELINUX=permissive
SELINUX=permissive
# 保存
:wq

或者修改docker關閉selinux

vi /etc/sysconfig/docker
# 找到OPTIONS="--selinux-enabled --log-driver=journald --signature-verification=false"
# 刪除 --selinux-enabled
OPTIONS="--log-driver=journald --signature-verification=false"
# 保存
:wq

另外docker-18.03已經廢棄使用overlay1了,overlay2存儲才是今后所支持的,因此不建議按照網上某文章的教程那樣將docker的存儲驅動改回overlay1。改回overlay1的方式只是治標不治本,正解是修改selinux配置。

啟動容器進行測試

至此低版本Docker升級高版本Docker完美結束~

總結

到此這篇關于低版本Docker升級高版本Docker的詳細教程及成功避坑的文章就介紹到這了,更多相關低版本Docker升級高版本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker安裝MySQL并使用Navicat連接的使用示例

    Docker安裝MySQL并使用Navicat連接的使用示例

    在Docker里運行MySQL的方式還是很方便的,本文主要介紹了Docker安裝MySQL并使用Navicat連接的使用示例,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Jenkins Docker靜態(tài)agent節(jié)點的構建過程

    Jenkins Docker靜態(tài)agent節(jié)點的構建過程

    這篇文章主要介紹了Jenkins Docker靜態(tài)agent節(jié)點的構建,靜態(tài)節(jié)點就是通過java -jar這條命令去啟動起來就可以了,本文通過圖文實例相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • 在 Docker 環(huán)境中部署和運行 Nginx 的方法

    在 Docker 環(huán)境中部署和運行 Nginx 的方法

    在當今的技術領域,Docker 就像一位神奇的魔法師,能夠讓我們輕松地管理和部署各種應用程序,這篇文章主要介紹了在 Docker 環(huán)境中部署和運行 Nginx 的方法,需要的朋友可以參考下
    2024-12-12
  • 蘑菇街 私有云Docker實例應用

    蘑菇街 私有云Docker實例應用

    這篇文章主要介紹了蘑菇街 私有云Docker實例應用的相關資料,需要的朋友可以參考下
    2016-10-10
  • 清理docker在var目錄下的大量空間占用問題

    清理docker在var目錄下的大量空間占用問題

    這篇文章主要介紹了如何清理docker在var目錄下的大量空間占用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 開發(fā)者必備Docker命令小結

    開發(fā)者必備Docker命令小結

    本文主要講解Docker環(huán)境的安裝以及Docker常用命令的使用,掌握這些對Docker環(huán)境下應用的部署具有很大幫助,感興趣的可以了解一下
    2021-12-12
  • 詳解Docker方式實現(xiàn)MySql 主從復制(實踐篇)

    詳解Docker方式實現(xiàn)MySql 主從復制(實踐篇)

    本篇文章主要介紹了詳解Docker方式實現(xiàn)MySql 主從復制(實踐篇),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 使用Docker容器運行Mysql實戰(zhàn)記錄

    使用Docker容器運行Mysql實戰(zhàn)記錄

    這篇文章主要給大家介紹了關于使用Docker容器運行Mysql的相關資料,助大家更好的理解和學習使用docker,感興趣的朋友可以了解下,需要的朋友可以參考下
    2023-09-09
  • 在docker-compose.yml文件中配置容器的環(huán)境變量方式

    在docker-compose.yml文件中配置容器的環(huán)境變量方式

    本文介紹了在docker-compose.yml文件中設置和使用環(huán)境變量的方法,包括直接設置環(huán)境變量、從文件讀取環(huán)境變量以及使用多個環(huán)境文件進行不同部署環(huán)境的配置
    2024-11-11
  • Docker部署SonarQube的詳細流程

    Docker部署SonarQube的詳細流程

    SonarQube是一款開源代碼檢測工具,運作流程是這樣的,先通過 sonar-scanner 插件掃描代碼,把數(shù)據(jù)存儲到數(shù)據(jù)庫,sonarQube 讀取數(shù)據(jù)庫,將數(shù)據(jù)庫展現(xiàn)在 web 平臺,本篇介紹通過 docker 來安裝,感興趣的朋友一起看看吧
    2022-02-02

最新評論