小編給大家分享一下CentOS下如何創(chuàng)建基于supervisord的sshd和其它服務(wù)的Docker image,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)服務(wù)項目包括山陽網(wǎng)站建設(shè)、山陽網(wǎng)站制作、山陽網(wǎng)頁制作以及山陽網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,山陽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到山陽省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
獲取最新的centos鏡像
# docker pull centos:latest
編寫Dockerfile(支持apache+ssh服務(wù))
# mkdir /home/Dockerfile/webserver # cd /home/Dockerfile/webserver # vim Dockerfile
Dockerfile內(nèi)容如下:
# This is a base comment FROM centos:latest MAINTAINER renguijiayi #yum install Package RUN yum -y install net-tools RUN yum -y install iputils iproute man vim-minimal openssh-server openssh-clients RUN yum -y install httpd RUN yum -y install python-setuptools RUN easy_install supervisor #set sshd RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh RUN echo 'root:qwe123' | chpasswd #set supervisor RUN mkdir -p /var/log/supervisor ADD supervisord.conf /etc/supervisord.conf #set port EXPOSE 22 EXPOSE 80 #set ENV ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 #run supervisor CMD ["/usr/bin/supervisord -c /etc/supervisord.conf"]
通過supervisord來維護(hù)Docker容器中服務(wù)進(jìn)程,編寫supervisord.conf:
# vi supervisord.conf [supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D [program:httpd] command=/usr/sbin/httpd -DFOREGROUND
創(chuàng)建鏡像,運(yùn)行:
# docker build -t test/webserver:v1 .
直接上Dockerfile:
FROM centos:centos6 MAINTAINER renguijiayi RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm RUN yum install -y openssh-server sudo mysql-server mysql supervisor RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config RUN useradd admin RUN echo "admin:admin" | chpasswd RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key RUN mkdir /var/run/sshd RUN /etc/init.d/mysqld start &&\ mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\ mysql -u root -pletmein -e "show databases;" RUN mkdir -p /var/log/supervisor COPY supervisord.conf /etc/supervisord.conf EXPOSE 22 3306 CMD ["/usr/bin/supervisord"]
在Dockerfile所在目錄下創(chuàng)建supervisord.conf文件,內(nèi)容如下:
[supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D [program:mysqld] command=/usr/bin/mysqld_safe
在Dockerfile所在目錄下運(yùn)行build命令來生成image文件,這里使用mysql_server作為image文件名:
sudo docker build -t myserver .
首先使用下面的命令來啟動容器:
sudo docker run --name=myserver -d -P myserver
啟動完容器后,可以使用“sudo docker ps”來查看,此時可以看PORTS列內(nèi)容為“0.0.0.0:49171->22/tcp, 0.0.0.0:49172->3306/tcp”容器的22端口和3306端口會被映射到宿主機(jī)器的49171和49172端口。
可以通過下面的命令來訪問ssh和mysql服務(wù):
ssh admin@<宿主機(jī)器> -p <宿主機(jī)器端口> mysql -h <宿主機(jī)器> -u root -pletmein -P 49172
也可以使用“sudo docker inspect myserver | grep IPAddress”來查看容器IP地址,然后通過下面命令訪問ssh和mysql服務(wù):
ssh admin@<容器機(jī)器IP> mysql -h <容器機(jī)器IP> -u root -pletmein
看完了這篇文章,相信你對“CentOS下如何創(chuàng)建基于supervisord的sshd和其它服務(wù)的Docker image”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:CentOS下如何創(chuàng)建基于supervisord的sshd和其它服務(wù)的Dockerimage
URL網(wǎng)址:http://muchs.cn/article22/iegecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、微信公眾號、品牌網(wǎng)站設(shè)計、企業(yè)網(wǎng)站制作、App設(shè)計、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)