Centos8上安裝docker

一、安裝虛擬機(jī)和Centos8系統(tǒng)

1、安裝虛擬機(jī)
鏈接:https://pan.baidu.com/s/1dSJ-vR-Oq9YuPap5dI4OfQ
提取碼:8nvx

2、安裝Centos8鏡像
鏈接:https://pan.baidu.com/s/19TPMaoAEV3Zg09x2vX9ROA
提取碼:874a
安裝步驟請(qǐng)百度查詢。

二、設(shè)置Centos8的網(wǎng)絡(luò)

1、在“虛擬機(jī)”“設(shè)置”中將centos系統(tǒng)的網(wǎng)絡(luò)適配器選擇NAT模式,
直接就是和主機(jī)共用一個(gè)IP了,比較方便;


image.png

2、打開(kāi)CentOS8系統(tǒng),登陸后,輸入ip add查看網(wǎng)絡(luò)情況,ent33就是本機(jī)的網(wǎng)卡;


image.png

3、cd /etc/sysconfig/network-scripts 打開(kāi)目錄,ls 查看目錄中的文件, ifcfg-ens33這里是你的網(wǎng)卡的名字
image.png

4、vi ifcfg-ens33打開(kāi)配置文件,按ESC鍵和字母i鍵進(jìn)入增加模式,把onboot=no改為onboot = yes ,按Esc鍵退出編輯模式,輸入:wq保存并退出;
image.png

三、Centos8更改yum源

如果不更改下載docker依賴時(shí)會(huì)報(bào)錯(cuò):
Errors during downloading metadata for repository ‘AppStream‘

  1. 備份原始的yum源
cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.bak
  1. 下載對(duì)應(yīng)版本的repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
  1. 清除舊的yum緩存并生成新的yum緩存
yum clean all
yum makecache
  1. 更新
yum update -y

四、安裝docker

使用 Docker 倉(cāng)庫(kù)進(jìn)行安裝
在新主機(jī)上首次安裝 Docker Engine-Community 之前,需要設(shè)置 Docker 倉(cāng)庫(kù)。之后,您可以從倉(cāng)庫(kù)安裝和更新 Docker。

1、安裝所需的軟件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存儲(chǔ)驅(qū)動(dòng)程序需要 device-mapper-persistent-data 和 lvm2。

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2、設(shè)置穩(wěn)定的倉(cāng)庫(kù),選擇阿里云的倉(cāng)庫(kù)

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

3、安裝 Docker Engine-Community,可以指定版本或者不指定版本
查看倉(cāng)庫(kù)中有哪些版本的docker

yum list docker-ce --showduplicates | sort -r
image.png

通過(guò)其完整的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個(gè)冒號(hào)(:)一直到第一個(gè)連字符,并用連字符(-)分隔。例如:docker-ce-20.10.3。

指定版本安裝docker:

sudo yum install --allowerasing docker-ce-20.10.3 docker-ce-cli-20.10.3 containerd.io

安裝成功后啟動(dòng)docker

sudo systemctl start docker

通過(guò)運(yùn)行 hello-world 映像來(lái)驗(yàn)證是否正確安裝了 Docker Engine-Community

sudo docker run hello-world
image.png

五、docker命令--容器使用

使用docker run命令在容器中運(yùn)行一個(gè)應(yīng)用程序:
docker run ubuntu:15.10 /bin/echo "Hello world"
ubuntu:15.10是鏡像,docker首先在本地主機(jī)上查找鏡像是否存在,如果不存在會(huì)從鏡像倉(cāng)庫(kù)docker hub下載公共鏡像。
以上的命令是創(chuàng)建ubuntu:15.10的容器,然后在容器里執(zhí)行/bin/echo "Hello world" 并輸出。

docker run -i -t ubuntu:15.10 /bin/bash
-i: 允許你對(duì)容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互
-t: 在新容器內(nèi)指定一個(gè)偽終端或終端。

docker ps 查看在運(yùn)行的容器。
docker stop 命令來(lái)停止容器。
docker pull ubuntu命令來(lái)載入 ubuntu 鏡像。
docker ps -a 查看所有容器
容器的狀態(tài):
STATUS: 容器狀態(tài)。
狀態(tài)有7種:
created(已創(chuàng)建)
restarting(重啟中)
running 或 Up(運(yùn)行中)
removing(遷移中)
paused(暫停)
exited(停止)
dead(死亡)


image.png

紅框中是docker容器id。

docker start b750bbbcfd88(容器id) 啟動(dòng)docker容器:


image.png

停止docker容器:
docker stop <容器 ID>
重啟docker容器:
docker restart <容器 ID>


image.png

刪除docker容器:
docker rm -f <容器 ID>
清理掉所有處于終止?fàn)顟B(tài)的容器。
ocker container prune

六、docker命令--鏡像使用

鏡像和容器的關(guān)系就好比類和實(shí)例的關(guān)系,一個(gè)類可以創(chuàng)建多個(gè)實(shí)例,一個(gè)鏡像可以創(chuàng)建多個(gè)容器。
docker images 來(lái)列出本地主機(jī)上的鏡像。
docker run -t -i ubuntu:15.10 /bin/bash 使用ubuntu:15.10的鏡像運(yùn)行容器,并進(jìn)入容器內(nèi)部,輸入exit退出容器。
docker pull ubuntu:13.10 下載ubuntu:13.10的鏡像。
docker search httpd 查找httpd的鏡像。
docker run httpd 運(yùn)行鏡像。
docker rmi hello-world 刪除鏡像。

七、docker命令--容器連接

八、docker命令--docker倉(cāng)庫(kù)

docker search ubuntu查找官方倉(cāng)庫(kù)的鏡像
docker pull ubuntu 從官方倉(cāng)庫(kù)拉取鏡像


image.png

九、docker命令--Docker Dockerfile

dockerfile是一個(gè)文本文件,該文件中包含了一條條構(gòu)建鏡像文件的指令。
鏡像文件中的指令說(shuō)明,請(qǐng)參考:https://www.runoob.com/docker/docker-dockerfile.html

十、docker--數(shù)據(jù)卷volume

docker數(shù)據(jù)持久化,在Docker中,要想實(shí)現(xiàn)數(shù)據(jù)的持久化(所謂Docker的數(shù)據(jù)持久化即數(shù)據(jù)不隨著Container的結(jié)束而結(jié)束),需要將數(shù)據(jù)從宿主機(jī)掛載到容器中,比如一份配置文件可以在多個(gè)容器中共用。

虛擬機(jī)本地創(chuàng)建一個(gè)目錄,把本地目錄掛載到容器中一個(gè)目錄,進(jìn)入容器目錄中創(chuàng)建文件,回到本地目錄能看到在容器中創(chuàng)建的文件,保持?jǐn)?shù)據(jù)的一致性。

docker create -v $PWD/data:/var/mydata --name data_container ubuntu

創(chuàng)建一個(gè)容器,-v 是要使用volume掛載文件,$PWD/data:/var/mydata是本地data目錄掛載到容器/var/mydata目錄中,--name是創(chuàng)建的容器的名稱,ubuntu是使用的基礎(chǔ)鏡像。

docker run -it --volumes-from data_container ubuntu /bin/bash
運(yùn)行容器,從data_container容器中掛載文件,ubuntu是基礎(chǔ)鏡像文件,/bin/bash是可以進(jìn)入命令行進(jìn)行執(zhí)行命令


image.png

image.png

image.png

把本地文件掛載到容器中,本地文件更改,容器中也跟著更改。
docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx
運(yùn)行容器,-p 80:80映射端口號(hào)到本地,-v使用volume掛載文件,本地html目錄下的文件掛載到/usr/share/nginx/html目錄中。
本地文件內(nèi)容:


image.png

調(diào)接口查看內(nèi)容和本地文件內(nèi)容一致:


image.png

修改內(nèi)容,再次查看內(nèi)容變化:
image.png

更多內(nèi)容可以參考:https://www.cnblogs.com/edisonchou/p/docker_volumes_introduction.html

十、docker--Docker Compose

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評(píng)論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評(píng)論 3 421
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,879評(píng)論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,181評(píng)論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,935評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,325評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評(píng)論 3 443
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,534評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,892評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,067評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,322評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,735評(píng)論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,990評(píng)論 1 289
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,800評(píng)論 3 395
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,084評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容

  • centos8默認(rèn)使用podman代替docker,但是當(dāng)前還是需要docker,執(zhí)行yum install do...
    fallthrough閱讀 12,222評(píng)論 0 5
  • 下載docker-ce的repo 安裝依賴(這是相比centos7的關(guān)鍵步驟) 安裝docker-ce 啟動(dòng)doc...
    異步木依閱讀 238評(píng)論 0 0
  • centos8安裝docker的時(shí)候非常蛋疼,有一步需要自己去下載,特此記錄一下 下載docker-ce的repo...
    血之君殤閱讀 447評(píng)論 0 0
  • Centos8安裝docker容器及遇到問(wèn)題解決 進(jìn)入Docker文檔,查看Install Centos的官方文檔...
    Coder_Pig3閱讀 2,488評(píng)論 0 1
  • CentOS8,并嘗試安裝docker,不料竟然還報(bào)了個(gè)錯(cuò)(缺少依賴),故及時(shí)記錄一下,方便其他同學(xué)。安裝步驟: ...
    yichen_china閱讀 810評(píng)論 0 2