跟著教程使用指令docker build -f /mydocker/Dockerfile -t mytomcat:1.1 .時(shí)出現(xiàn)了以下錯(cuò)誤:

在網(wǎng)上找了很多教程大多一知半解,而且大多都是2-3年前的了,并且沒有作用,經(jīng)過一晚上的嘗試終于解決了這個(gè)問題,在此記錄一下,希望小伙伴們能愉快解決這個(gè)問題

但是由于途中經(jīng)過了太多的嘗試,不能完全確定究竟是哪個(gè)方法生了效便一并寫在這里,下次再實(shí)驗(yàn)的時(shí)候加以測(cè)試,再來(lái)完善,如果有大佬也多謝指正。
方法一:修改源
1.檢查網(wǎng)絡(luò)是否聯(lián)通
隨便ping一個(gè)網(wǎng)站即可,例如:ping www.baidu.com
2.關(guān)閉防火墻
systemctl stop firewalld.service(我第一次實(shí)驗(yàn)的時(shí)候就是使用這個(gè)方法,但是沒有進(jìn)行這一步,再第二種方法之后又進(jìn)行了這一步并重啟docker 最后居然成功了)
3.修改軟件源
在/etc/repos.d文件夾下有CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo這三個(gè)文件,將三個(gè)文件中的mirrow注釋掉,設(shè)置baseurl 為阿里源

4.命令行下載阿里源
指令為:wget -O /etc/yum.repos.d/CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-8.repo](http://mirrors.aliyun.com/repo/Centos-8.repo)(Centos8根據(jù)系統(tǒng)版本修改就好了,我的是CentOS8)
5.運(yùn)行 yum makecache 生成緩存(或 yum clean all&&yum makecache )
6.重啟Docker服務(wù)
service docker restart
方法二:下載ssh
yum install openssh openssh-server openssh-clients
沒錯(cuò)就只下了個(gè)ssh,當(dāng)時(shí)我也是非常懷疑,并且原帖使用此指令后出了錯(cuò),而我沒有出現(xiàn),于是我就順便把方法一的時(shí)候沒關(guān)的防火墻關(guān)掉了,然后重啟了一下Docker,然后就成功了。真是不可思議。
小伙伴們可以先按照方法一步不差的走一遍(不要學(xué)我跳過關(guān)防火墻),然后實(shí)驗(yàn)一下,如果不行的話再進(jìn)行方法二。
方法二雖然看似簡(jiǎn)單,但是如果出錯(cuò)了處理很麻煩,所以優(yōu)先使用方法一(而且個(gè)人感覺方法一的軟件源才是問題的關(guān)鍵)
之后我再次實(shí)驗(yàn)后來(lái)更新的更準(zhǔn)確一些。
參考了這兩個(gè)帖子:
方法一,但是沒寫三個(gè)文件的路徑
方法二,包括安裝ssh時(shí)出錯(cuò)的解決辦法