Docker 7 docker在阿里云的使用詳解
在傳統(tǒng)模式中,開(kāi)發(fā)團(tuán)隊(duì)在開(kāi)發(fā)環(huán)境中完成軟件開(kāi)發(fā),自己做了一遍單元測(cè)試, 測(cè)試通過(guò),ᨀ交到代碼版本管理庫(kù)。運(yùn)維把應(yīng)用部署到測(cè) 試環(huán)境, QA 進(jìn)行測(cè)試,沒(méi)問(wèn)題后通知部署人員發(fā)布到生產(chǎn)環(huán)境。 在上述過(guò)程中涉及到至少三個(gè)環(huán)境:開(kāi)發(fā)、測(cè)試和生產(chǎn)。現(xiàn)實(shí)情況是,開(kāi)發(fā)自測(cè) 沒(méi)問(wèn)題,但到了測(cè)試或者生產(chǎn)環(huán)境程序無(wú)法運(yùn)行,讓開(kāi)發(fā)團(tuán)隊(duì)排查,經(jīng)過(guò)長(zhǎng)時(shí)間 排查最后發(fā)現(xiàn)是測(cè)試環(huán)境的一個(gè)第三方庫(kù)過(guò)時(shí)了。這樣的現(xiàn)象在軟件開(kāi)發(fā)中很普 遍,已經(jīng)不適用如今的快速開(kāi)發(fā)和部署。docker可以滿(mǎn)足你的需求。
阿里云容器hub開(kāi)發(fā)者平臺(tái),可以去這里下載需要的鏡像
https://dev.aliyun.com/search.html?spm=5176.1972343.0.1.MSG1P3
首先先查看內(nèi)核版本,這一步很重要
# uname -a
查看系統(tǒng)內(nèi)核版本,docker要求內(nèi)核版本為3.10以上,建議(不要在centos6.6上面安裝使用docker,有很多坑,我就是一個(gè)個(gè)踩過(guò)來(lái)的)
我使用的是阿里云的ECS centos 6.6 64位的,所以需要升級(jí)內(nèi)很,內(nèi)核版本升級(jí)的方法:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm # yum --enablerepo=elrepo-kernel install kernel-lt -y # vim /etc/grub.conf default=0 把default=1 改為default = 0
最后重啟服務(wù)器
開(kāi)始安裝docker
# curl -sSL https://get.docker.com/ | sh # docker --version Docker version 1.7.1, build 786b29d # vim /etc/sysconfig/docker other_args="--registry-mirror=https://rr8hxwoy.mirror.aliyuncs.com -H tcp://0.0.0.0:235 -H unix:///var/run/docker.sock" 配置阿里云加速 docker pull會(huì)很快
啟動(dòng)docker
# /etc/init.d/docker start # chkconfig docker on
運(yùn)行docker容器
# docker pull centos latest: Pulling from centos 3690474eb5b4: Already exists af0819ed1fac: Already exists 05fe84bf6d3f: Already exists 97cad5e16cb6: Already exists Digest: sha256:934ff980b04db1b7484595bac0c8e6f838e1917ad3a38f904ece64f70bbca040 Status: Image is up to date for centos:latest
從阿里云私有鏡像倉(cāng)庫(kù)拉取centos鏡像到本地,因?yàn)榕渲昧税⒗镌歧R像加速,所以下載非???,30秒鐘搞定。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest 97cad5e16cb6 12 days ago 196.5 MB # docker run -d -it centos /bin/bash 運(yùn)行centos容器 # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 969ad48e4085 centos "/bin/bash" 5 seconds ago Up 4 seconds jovial_torvalds # docker exec -it 969a /bin/bash 進(jìn)入容器 969a是容器的ID
Docker啟動(dòng)容器命令在前面已經(jīng)詳細(xì)的講過(guò),不會(huì)的童鞋可以到我之前的博客看看
重點(diǎn)來(lái)了
java+tomcat在容器中應(yīng)用
測(cè)試環(huán)境服務(wù)器配置 centos 6.6 64位,4核處理器,8G內(nèi)存
理論上可以跑16個(gè)java容器,因?yàn)槊總€(gè)容器消耗內(nèi)存為500M左右,我在上面跑了8個(gè)java容器,另外跑了一個(gè)nginx做反向代理和一個(gè)redis,nginx 和redis都沒(méi)有使用docker
需要前提下載好jdk1.7.0.72和 tomcat ,并把他們放在和Dockerfile同一級(jí)目錄
vim Dockerfile #This is My first Dockerfile #version 1.0 #Base image FROM centos:latest #MAINTAINER hh Wang #ADD ADD jdk1.7.0_72.gz /usr/local/ ADD biz-tomcat.tar.gz /usr/local/ #RUN RUN yum -y install wget gcc gcc-c++ make openssl openssl-devel net-tools vim RUN mkdir /docker/myapp/ROOT -p #ENV ENV JAVA_HOME /usr/local/jdk1.7.0_72 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib ENV PATH $PATH:$JAVA_HOME/bin ENV CATALINA_HOME /usr/local/biz-tomcat EXPOSE 8080 CMD ["/usr/local/biz-tomcat/bin/catalina.sh","run"] # docker build -t whh/biz_tomcat:v1 . 后面有一個(gè)點(diǎn),一定要記住 # docker run -it -d -v /mnt/docker/myapp/ROOT/biz:/docker/myapp/ROOT -v /var/log/biz-tomcat/logs:/usr/local/biz-tomcat/logs -p 9080:8080 --name biz whh/biz_tomcat:v1
tomcat的根目錄要事先修改為自己需要的路徑,我這里為docker/myapp/ROOT,把根目錄掛在在宿主機(jī)的/mnt/docker/myapp/ROOT/biz目錄下面,當(dāng)更新代碼的時(shí)候,直接把代碼傳到這個(gè)目錄,然后重啟一下容器就可以了,不需要把代碼上傳到容器里面,那樣很麻煩。
[root@VM_159_91_centos biz]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 969ad48e4085 centos "/bin/bash" 21 minutes ago Up 21 minutes jovial_torvalds f67257661e70 registry "/entrypoint.sh /etc 7 hours ago Up 7 hours 0.0.0.0:5000->5000/tcp high_darwin 4bcc381f5b9f whh/biz_tomcat:v1 "/usr/local/biz-tomc 9 hours ago Up 7 hours 0.0.0.0:9080->8080/tcp biz # docker tag whh/biz_tomcat:v1 IP:5000/whh/biz_tomcat:v1 IP寫(xiě)自己本機(jī)內(nèi)網(wǎng)的IP或者公網(wǎng)IP都可以 # docker push IP:5000/whh/biz_tomcat:v1 推送到自己私有的倉(cāng)庫(kù),從其他的服務(wù)器就可以直接pull下來(lái)使用 00:19:15 2016-11-16
以上所述是小編給大家介紹的Docker 7 docker在阿里云的使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的,在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Docker中Mysql容器無(wú)法停止無(wú)法刪除問(wèn)題
這篇文章主要介紹了Docker中Mysql容器無(wú)法停止無(wú)法刪除問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
docker如何刪除<none>/dangling/懸空鏡像
這篇文章主要介紹了docker如何刪除<none>/dangling/懸空鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Docker中部署Redis集群與部署微服務(wù)項(xiàng)目的詳細(xì)過(guò)程
這篇文章主要介紹了Docker中部署Redis集群與部署微服務(wù)項(xiàng)目,主要包括使用docker部署的好處以及Docker與Kubernetes對(duì)比分析,需要的朋友可以參考下2022-06-06
使用Docker Swarm搭建分布式爬蟲(chóng)集群的方法示例
這篇文章主要介紹了使用Docker Swarm搭建分布式爬蟲(chóng)集群的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過(guò)程
這篇文章主要介紹了使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
如何修改 docker 容器的啟動(dòng)參數(shù)
工作中我們經(jīng)常遇到docker容器運(yùn)行一段時(shí)間后,因?yàn)楦鞣N原因需要調(diào)整啟動(dòng)參數(shù)的情況,這篇文章主要介紹了如何修改 docker 容器的啟動(dòng)參數(shù),需要的朋友可以參考下2023-09-09
Docker添加tomcat容器無(wú)法訪(fǎng)問(wèn)首頁(yè)解決方案
這篇文章主要介紹了Docker添加tomcat容器無(wú)法訪(fǎng)問(wèn)首頁(yè)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
dubbo服務(wù)引用創(chuàng)建Invoker代理對(duì)象
這篇文章主要為大家介紹了dubbo服務(wù)引用創(chuàng)建Invoker代理對(duì)象示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

