Docker容器技術(shù)基礎(chǔ)

docker安裝

安裝前準(zhǔn)備:

1缘琅、禁用 selinux [SELINUX=disabled]
2宦棺、卸載防火墻 [yum -y remove firewalld-*]
3、將 docker 軟件包上傳到跳板機(jī)
4永票、準(zhǔn)備 2 臺(tái) 2cpu,2G內(nèi)存的云主機(jī)

主機(jī)名 IP地址 最低配置
docker-0001 192.168.1.31 2CPU,2G內(nèi)存
docker-0002 192.168.1.32 2CPU,2G內(nèi)存
跳板機(jī)yum源添加docker軟件
[root@ecs-proxy ~]# cp -a docker /var/ftp/localrepo/ 
[root@ecs-proxy ~]# cd /var/ftp/localrepo/
[root@ecs-proxy localrepo]# createrepo --update .
在 node 節(jié)點(diǎn)驗(yàn)證軟件包
[root@docker-0001 ~]# yum makecache
[root@docker-0001 ~]# yum list docker-ce*

以下操作所有 node 節(jié)點(diǎn)都需要執(zhí)行

開(kāi)啟路由轉(zhuǎn)發(fā)
[root@docker-0001 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@docker-0001 ~]# sysctl -p
[root@docker-0001 ~]# yum install -y docker-ce
[root@docker-0001 ~]# systemctl enable --now docker
[root@docker-0001 ~]# ifconfig # 驗(yàn)證,能看見(jiàn) docker0
[root@docker-0001 ~]# docker version # 驗(yàn)證蚯妇,沒(méi)有報(bào)錯(cuò)

鏡像管理&容器管理

docker鏡像管理命令
鏡像管理命令 說(shuō)明
docker images 查看本機(jī)鏡像
docker search 鏡像名稱 從官方倉(cāng)庫(kù)查找鏡像
docker pull 鏡像名稱:標(biāo)簽 下載鏡像
docker push 鏡像名稱:標(biāo)簽 上傳鏡像
docker save 鏡像名稱:標(biāo)簽 -o 備份鏡像名稱.tar 備份鏡像為tar包
docker load -i 備份鏡像名稱 導(dǎo)入備份的鏡像文件
docker rmi 鏡像名稱:標(biāo)簽 刪除鏡像(必須先刪除該鏡像啟動(dòng)的所有容器)
docker history 鏡像名稱:標(biāo)簽 查看鏡像的制作歷史
docker inspect 鏡像名稱:標(biāo)簽 查看鏡像的詳細(xì)信息
docker tag 鏡像名稱:標(biāo)簽 新的鏡像名稱:新的標(biāo)簽 創(chuàng)建新的鏡像名稱和標(biāo)簽

以下操作須在一臺(tái)可以訪問(wèn)互聯(lián)網(wǎng)的機(jī)器上執(zhí)行:

#查找busybox鏡像
[root@docker-0001 ~]# docker search busybox

#下載鏡像
[root@docker-0001 ~]# docker pull busybox:latest

#查看本機(jī)鏡像
[root@docker-0001 ~]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              69593048aa3a        3 weeks ago         1.24MB

#上傳鏡像
[root@docker-0001 ~]# docker push busyboxnew:latest

#備份鏡像為tar包
[root@docker-0001 ~]# docker save busybox:latest -o busybox.tar

#導(dǎo)入備份的鏡像文件
[root@docker-0001 ~]# docker load -i busybox.tar

#刪除鏡像(必須先刪除該鏡像啟動(dòng)的所有容器)
[root@docker-0001 ~]# docker rmi busybox:latest

# 查看鏡像的詳細(xì)信息
[root@docker-0001 ~]# docker inspect busybox:latest

# 查看鏡像的歷史信息
[root@docker-0001 ~]# docker history busybox:latest

# 給鏡像添加新的名詞和標(biāo)簽
[root@docker-0001 ~]# docker tag busybox:latest newname:newtag
docker容器管理命令
容器管理命令 說(shuō)明
docker run -it(d) 鏡像名稱:標(biāo)簽 啟動(dòng)命令 創(chuàng)建啟動(dòng)并進(jìn)入一個(gè)容器,后臺(tái)容器使用參數(shù) d
docker ps 查看容器 -a 所有容器暂筝,包含未啟動(dòng)的箩言,-q 只顯示id
docker rm 容器ID -f 強(qiáng)制刪除,支持命令重入
docker start|stop|restart 容器id 啟動(dòng)乖杠、停止分扎、重啟容器
docker cp 本機(jī)文件路徑 容器id:容器內(nèi)路徑 把本機(jī)文件拷貝到容器內(nèi)(上傳)
docker cp 容器id:容器內(nèi)路徑 本機(jī)文件路徑 把容器內(nèi)文件拷貝到本機(jī)(下載)
docker inspect 容器ID 查看容器的詳細(xì)信息
docker attach 容器id 進(jìn)入容器的默認(rèn)進(jìn)程,退出后容器會(huì)關(guān)閉
docker attach 容器id [ctrl+p, ctrl+q] 進(jìn)入容器以后胧洒,退出容器而不關(guān)閉容器的方法
docker exec -it 容器id 啟動(dòng)命令 進(jìn)入容器新的進(jìn)程畏吓,退出后容器不會(huì)關(guān)閉

docker run** 啟動(dòng)一個(gè)新的容器 -i 交互式,-t 終端卫漫, -d 在后臺(tái)啟動(dòng)

# 在后臺(tái)啟動(dòng)容器
[root@docker-0001 ~]# docker run -itd nginx:latest 
9cae0af944d81770c90fdeacf7a632aaa749b0c9fbc0f4cb104e1d1257579e5e
# 在前臺(tái)啟動(dòng)容器
[root@docker-0001 ~]# docker run -it --name myos centos:latest /bin/bash
[root@de46e6254efd /]# ctrl+p, ctrl+q # 使用快捷鍵退出菲饼,保證容器不關(guān)閉

# 查看正在運(yùn)行的容器
[root@docker-0001 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED
de46e6254efd        centos:latest       "/bin/bash"              2 minutes ago  
9cae0af944d8        nginx:latest        "nginx -g 'daemon of…"   7 minutes ago  
# 只查看id
[root@docker-0001 ~]# docker ps -q
# 查看所有容器,包含未啟動(dòng)的
[root@docker-0001 ~]# docker ps -a

# 啟動(dòng)列赎、停止宏悦、重啟容器
[root@docker-0001 ~]# docker start   de46e6254efd
[root@docker-0001 ~]# docker stop    9cae0af944d8
[root@docker-0001 ~]# docker restart 9cae0af944d8

# 刪除容器
[root@docker-0001 ~]# docker rm -f de46e6254efd
# 刪除所有容器
[root@docker-0001 ~]# docker rm -f $(docker ps -aq)

# 進(jìn)入容器的默認(rèn)進(jìn)程
[root@docker-0001 ~]# docker attach de46e6254efd
[root@de46e6254efd /]# exit # 退出后容器會(huì)關(guān)閉

# 查看容器詳細(xì)信息
[root@docker-0001 ~]# docker inspect 9cae0af944d8
... ...
      "IPAddress": "172.17.0.2",
... ...
[root@docker-0001 ~]# curl http://172.17.0.2/

# 進(jìn)入容器,查看路徑
[root@docker-0001 ~]# docker exec -it 9cae0af944d8 /bin/bash
root@9cae0af944d8:/# cat /etc/nginx/conf.d/default.conf
... ...
      root   /usr/share/nginx/html;
... ...

# 從容器內(nèi)拷貝首頁(yè)文件到宿主機(jī)包吝,修改后拷貝回容器內(nèi)
[root@docker-0001 ~]# docker cp 9cae0af944d8:/usr/share/nginx/html/index.html ./index.html
[root@docker-0001 ~]# vim index.html
Hello Guodong
Hello Guodong
Hello Guodong
[root@docker-0001 ~]# docker cp ./index.html 9cae0af944d8:/usr/share/nginx/html/index.html
[root@docker-0001 ~]# curl http://172.17.0.2/

注:
docker attach 9cae0af944d8 #一般用于排錯(cuò)
docker exec -it 9cae0af944d8 /bin/bash #用于維護(hù)

容器內(nèi)部署應(yīng)用
[root@docker-0001 ~]# docker rm -f $(docker ps -aq)
[root@docker-0001 ~]# docker run -it --name myapache centos:latest
[root@a7f9d0c3e3e2 /]# rm -f /etc/yum.repos.d/*.repo
#---------------------不要退出這個(gè)終端饼煞,在另一個(gè)終端拷貝 yum 配置文件到容器--------------------
[root@docker-0001 ~]# docker cp /etc/yum.repos.d/CentOS-Base.repo myapache:/etc/yum.repos.d/
#------------------------回到創(chuàng)建容器的終端繼續(xù)執(zhí)行命令--------------------------------------
[root@a7f9d0c3e3e2 /]# yum install -y net-tools httpd
[root@a7f9d0c3e3e2 /]# echo Hello world >/var/www/html/index.html
[root@a7f9d0c3e3e2 /]# export LANG=C
[root@a7f9d0c3e3e2 /]# ifconfig
[root@a7f9d0c3e3e2 /]# /usr/sbin/httpd -DFOREGROUND
# 啟動(dòng)服務(wù)以后 ctrl-p, ctrl-q 退出
[root@docker-0001 ~]# curl http://172.17.0.2/
Hello world

總結(jié):

管理鏡像使用   **名稱:標(biāo)簽**
管理容器使用   **容器ID**
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诗越,一起剝皮案震驚了整個(gè)濱河市砖瞧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嚷狞,老刑警劉巖块促,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荣堰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡竭翠,警方通過(guò)查閱死者的電腦和手機(jī)振坚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)斋扰,“玉大人渡八,你說(shuō)我怎么就攤上這事∪焓担” “怎么了呀狼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)损离。 經(jīng)常有香客問(wèn)我哥艇,道長(zhǎng),這世上最難降的妖魔是什么僻澎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任貌踏,我火速辦了婚禮,結(jié)果婚禮上窟勃,老公的妹妹穿的比我還像新娘祖乳。我一直安慰自己,他們只是感情好秉氧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布眷昆。 她就那樣靜靜地躺著,像睡著了一般汁咏。 火紅的嫁衣襯著肌膚如雪亚斋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天攘滩,我揣著相機(jī)與錄音帅刊,去河邊找鬼。 笑死漂问,一個(gè)胖子當(dāng)著我的面吹牛赖瞒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚤假,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼栏饮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了磷仰?” 一聲冷哼從身側(cè)響起抡爹,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芒划,沒(méi)想到半個(gè)月后冬竟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡民逼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年泵殴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拼苍。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笑诅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疮鲫,到底是詐尸還是另有隱情吆你,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布俊犯,位于F島的核電站妇多,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏燕侠。R本人自食惡果不足惜者祖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绢彤。 院中可真熱鬧七问,春花似錦、人聲如沸茫舶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饶氏。三九已至讥耗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嚷往,已是汗流浹背葛账。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留皮仁,地道東北人籍琳。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像贷祈,于是被迫代替她去往敵國(guó)和親趋急。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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