有问有答 | 容器精华问答,如何玩转容器服务?
戳藍字“CSDN云計算”關注我們哦!
容器這個詞,當你第一眼看它或許腦子里是這東西:瓶瓶罐罐、裝水、裝其他東西的玩意。不管是什么,總的來說,容器給人第一印象就是——“裝”。容器技術作為近兩年熱門的話題,不管是在運維還是開發上,給我們帶來了很多方便的地方,節約了不少成本。今天,問答君就為大家帶來有關容器的精華問答!
1
Q:一直想用Docker,但是一直又怕影響到服務器上目前的設置,有幾個入門的問題:
1.安裝Docker后,目前的網站會有影響么?是會當成一個默認的容器么?2.只有一個網卡有外網IP,多個容器可以都用這個網卡對外提供Web服務?
A:默認就可以,至于默認是什么模式沒注意。都是同卡,對現有服務沒有任何影響。Docker用虛擬網卡代理自己的所有容器,容器內暴露的端口映射物理機端口即可。比如,容器內tomcat開在8080,容器啟動的時候18080:8080,則物理機的18080端口會被Docker的代理轉發到容器8080。也就是多Web需要占用Docker個物理機端口。
Q:執行docker?ps時報錯:
Got?permission?denied?while?trying?to?connect?to?the?Docker?daemon?socket?at?unix:///var/run/docker.sock:?Get?http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json?all=1:?dial?unix?/var/run/docker.sock:?connect:?permission?denied,如何解決?
A:這是權限的問題,執行時添加sudo,例:sudo?docker?ps?,只要是非root用戶在執行docker時都要添加sudo。
Q:啟動MySQL設置了參數?--restart=always。前些天,MySQL服務可以正常使用。現在不能連接了。查看MySQL容器,status一直是?Restarting?(1)?20?seconds?ago。當20s走到1分鐘時,?ports會顯示1秒中0.0.0.0:3306-->3306。然后就又進入重啟等待過程。不知道是哪里導致了這個問題?
$?sudo?docker?container?ls????
CONTAINER?ID????????IMAGE???????????????COMMAND??????????????????CREATED?????????????STATUS??????????????????????????PORTS???????????????NAMES
c59ba37a2508????????mysql:5.6???????????"docker-entrypoint.s…"???4?weeks?ago?????????Restarting?(1)?20?seconds?ago???????????????????????mysql5
A:通常就是由于修改了一些MySQL的配置文件,或者可能是一些其他的配置,所以導致容器無法啟動。用docker?logs?[容器id]?查看確認一下。如果是需要修改文件的話,需要在主機下重新寫一個配置文件,然后復制到容器相對應目錄下的文件做替換,一般是:
cp??x.cnf?/data/docker/volumes/[容器id]/_data?/xxx/xxx
Q:Docker容器內ifconfig修改IP后無法上網,例如172.17.0.2改為172.17.0.3,無法上網,掩碼和廣播都改過來了,但還是不行?
A:如果是通過NAT模式啟動的話,?容器內的網絡會走宿主機,如果直接更改IP地址,因為不是docker?deamon分配的,肯定走不到物理機的網卡,也就會出現無法上網的現象。如果改用bridge模式,是應該可以直接更改IP的。
Q:Docker給每一個啟動的Container指定一個IP,??這個如何做??pipework?貌似只能在Ubuntu下有效,求CentOS下的用法?
A:Centos6.5的內核已經支持network?namespace,?但如果安裝的iproute版本過低,不支持ip?nets?命令。所以首先要將iproute升級?至?iproute-2.6.32-130.el6ost.netns.2.x86_64,方法如下:
#?yum?install?http://rdo.fedorapeople.org/rdo-release.rpm
#?yum?install?iproute
然后,給每個Container分配一個IP,宿主機配網橋,如:
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE='eth1'
ONBOOT=yes
BRIDGE=br1
/etc/sysconfig/network-scripts/ifcfg-br1
DEVICE='br1'
TYPE=Bridge
BOOTPROTO=staticONBOOT=yesIPADDR='xxx'
NETMASK='xxx'
GATEWAY='xxx'
/etc/init.d/network??restart
使用例子:
TESTID=$(docker?run?-d?bangli/centos-sshd)
./pipework?br1?$TESTID??10.10.1.10/24@10.0.0.1
其中,子網掩碼和默認網關需要根據實際情況指定。
小伙伴們沖鴨,后臺留言區等著你!
關于容器方面的知識還有哪些問題?快來后臺留言,我們可以請來專家詳細為您解答;
后臺留言告訴我,您對哪方面問題感興趣,好讓我們可以根據您提供的話題,有針對性的進行問答;
當然,我們也為大家提供了展示自己的平臺,歡迎大家搜集更多問答,投稿給我們吧!
---------------- ?完? --------------
1.微信群:
添加小編微信:color_ld,備注“進群+姓名+公司職位”即可,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
2.征稿:
投稿郵箱:liudan@csdn.net;微信號:color_ld。請備注投稿+姓名+公司職位。
推薦閱讀
2018,這一年的騰訊優圖,我們總結一下!
有問有答 | AWS使用精華問答,帶您開啟 AWS 上的云計算之旅!
程序員的年度未解之謎:加班背鍋的是我,得優秀員工的卻是他
特斯拉“撞死”機器人,是炒作還是事故?
買不到回家的票,都是“搶票加速包”惹的禍?
君士坦丁堡硬分叉姍姍來遲,以太坊2.0還要等多久?
剛剛!程序員集體榮獲2個冠軍,這份2018 IT報告還說這些!
點擊“閱讀原文”,打開 CSDN App 閱讀更貼心!
總結
以上是生活随笔為你收集整理的有问有答 | 容器精华问答,如何玩转容器服务?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么将win7的运行记录清空 清空Win
- 下一篇: 装系统后没有usb驱动怎么办 电脑装好系