服務(wù)器維護(hù)Docker 創(chuàng)建基礎(chǔ)鏡像
2020-06-10 21:47 作者:admin
如何做好服務(wù)器維護(hù)?北京艾銻無限科技與你談?wù)処T人員必須知道的服務(wù)器維護(hù)信息
服務(wù)器維護(hù)小知識(shí)本系列基于CentOS, Docker鏡像實(shí)現(xiàn)
服務(wù)器維護(hù)小知識(shí)首先, 運(yùn)行docker進(jìn)入bash, 沒啥用, 就讓你看看, 之后exit就行
docker run -i -t -v /root/software/:/mnt/software/ docker.io/centos /bin/bash
# 參數(shù):
# -i:表示以“交互模式”運(yùn)行容器,-i 則讓容器的標(biāo)準(zhǔn)輸入保持打開
# -d: 表示容器后臺(tái)運(yùn)行
# -t:表示容器啟動(dòng)后會(huì)進(jìn)入其命令行,-t 選項(xiàng)讓Docker分配一個(gè)偽終端(pseudo-tty)并綁定到容器的標(biāo)準(zhǔn)輸入上
# -v:表示需要將本地哪個(gè)目錄掛載到容器中,格式:-v <宿主機(jī)目錄>:<容器目錄>,-v 標(biāo)記來創(chuàng)建一個(gè)數(shù)據(jù)卷并掛載到容器里。在一次 run 中多次使用可以掛載多個(gè)數(shù)據(jù)卷。
# -p:指定對(duì)外80端口
# 不一定要使用“鏡像 ID”,也可以使用“倉庫名:標(biāo)簽名”
Dockerfile
############################################
# version : Docker version1.10.3, build 3999ccb-unsupported
# desc : 當(dāng)前版本安裝的ssh,wget,curl
############################################
FROM docker.io/centos
MAINTAINER wenbronk"linux@linuxidc.com"
# 一次性安裝vim,wget,curl,ssh server等必備軟件
RUN yum install-y vim wget curl openssh-server sudo
RUN mkdir-p /var/run/sshd
# 安裝supervisor工具
RUN yum install-y Python-setuptools
RUN easy_install supervisor
RUN mkdir-p /var/log/supervisor
# 將sshd的UsePAM參數(shù)設(shè)置成no
RUN sed-i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
# 添加root賬戶的密碼為123456
RUN echo "root:123456" | chpasswd
# 添加測(cè)試用戶admin,密碼admin,并且將此用戶添加到sudoers里
RUN useradd admin
RUN echo"admin:admin" | chpasswd
RUN echo"admin ALL=(ALL) ALL" >> /etc/sudoers
# 添加 supervisord 的配置文件,并復(fù)制配置文件到對(duì)應(yīng)目錄下面。(supervisord.conf文件和Dockerfile文件在同一路徑)
COPY supervisord.conf/etc/supervisor/supervisord.conf
# 容器需要開放SSH 22端口
EXPOSE22
# 執(zhí)行supervisord來同時(shí)執(zhí)行多個(gè)命令,使用 supervisord 的可執(zhí)行路徑啟動(dòng)服務(wù)。
CMD ["/usr/bin/supervisord"]
服務(wù)器維護(hù)小知識(shí)supervisord.conf文件
# 配置文件包含目錄和進(jìn)程
# 第一段 supervsord 配置軟件本身,使用 nodaemon 參數(shù)來運(yùn)行。
# 第二段包含要控制的 2 個(gè)服務(wù)。每一段包含一個(gè)服務(wù)的目錄和啟動(dòng)這個(gè)服務(wù)的命令。
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
注意: add命令使用時(shí), 只能使用相對(duì)路徑, 實(shí)際測(cè)試只能在當(dāng)前目錄下
構(gòu)建docker鏡像
docker build -t wenbronk/centos .
命令改進(jìn)
docker run -p 9999:22 -t -i "birdben/tools:v1"
重新構(gòu)建遇到的坑
服務(wù)器維護(hù)小知識(shí)在自己電腦上沒事也布一次, 結(jié)果怎么也不行, 搞了2個(gè)點(diǎn), 最后發(fā)現(xiàn)是因?yàn)閥um install -y ...
沒有加 -y
可通過ssh鏈接進(jìn)容器進(jìn)行查看
ssh admin@192.168.208.128 -p 9999
IT運(yùn)維 我們選擇北京艾銻無限
以上文章由北京艾銻無限科技發(fā)展有限公司整理