您的位置:首页 > 运维架构 > Docker

dockerfile的一些经验吧

2016-01-29 19:35 841 查看
怎么打tag?

docker tag images  xxx:1.0.0

注意是冒号

用斜杠表示不同的分支

下面是今天的一些札记,很乱,哪天有用就不用再百度了,给自己看的,朋友们就不需要看了。

很水的shell脚本

#! /bin/bash
echo ServerAdmin xxx@unionpay.com >> /etc/apache2/httpd.conf
echo ServerName host >> /etc/apache2/httpd.conf

port=$BIND
ip=$BACKEND
if [ $port ]
then
echo "port is setting"
else
port=80
fi
#add listen port
echo Listen $port >> /etc/apache2/listen.conf
if [ $ip ]
then
echo "ip is setting"
else
ip=127.0.0.1
fi
#add listen ip
echo ProxyPass / http://$ip:$port/ >> /etc/apache2/httpd.conf
echo ProxyPassReverse / http://$ip:$port/ >> /etc/apache2/httpd.conf
echo "<IfModule ssl_module>" >> /etc/apache2/httpd.conf
echo LoadModule rewrite_module /usr/lib64/apache2/mod_rewrite.so >> /etc/apache2/httpd.conf
echo LoadModule proxy_module /usr/lib64/apache2/mod_proxy.so >> /etc/apache2/httpd.conf
echo LoadModule proxy_http_module /usr/lib64/apache2/mod_proxy_http.so >> /etc/apache2/httpd.conf
echo SSLRandomSeed startup builtin >> /etc/apache2/httpd.conf
echo SSLRandomSeed connect builtin >> /etc/apache2/httpd.conf
echo "</IfModule>" >> /etc/apache2/httpd.conf
while true
do
echo "open another terminal by exec command get in container"
sleep 60
done

dockerfile和docker的一些札记吧
读取文件的环境变量:

docker run -it --rm --env-file /root/xx.file apache/ok /bin/bash

设置多个环境变量

B0309015:~ # docker run -it --rm --env dd=22 --env ww=33  apache/ok /bin/bash

docker里面--env=[]就相当于 --env xx=dd  直接无视掉=[] 要设置多个就多写几个--env

字符串替换

936c72fc01bd:/etc/apache2 # sed -i "s/qedasdsa/${BIND}/g" test

将字符串添加到文本的最后一行

936c72fc01bd:/etc/apache2 # echo "80" >> test

如果是

936c72fc01bd:/etc/apache2 # echo "80" > test

将导致test文件里只有80

sh test.sh

source test.sh

. test.sh

如果在shell中定义了变量hello=99,第一种echo hello 什么都没有,后两者能输出99.这涉及到一个子进程继承父进程,同时把变量也继承了。

启动时echo进去

ServerAdmin xxx@unionpay.com

ServerName host

ProxyPass / http://146.240.193.109:80/
ProxyPassReverse / http://146.240.193.109:80/
<IfModule ssl_module>

    LoadModule rewrite_module /usr/lib64/apache2/mod_rewrite.so

    LoadModule proxy_module /usr/lib64/apache2/mod_proxy.so

    LoadModule proxy_http_module /usr/lib64/apache2/mod_proxy_http.so

    SSLRandomSeed startup builtin

    SSLRandomSeed connect builtin

</IfModule>

可用的dockerfile

#VERSION 0.0.1

FROM suse/sles12

MAINTAINER libiaopeng "libiaopeng@unionpay.com" 2016.1.29

ENV BIND=80

ENV BACKEND=172.16.15.108:80

CMD echo 9999

RUN mkdir /www

RUN echo "hhhhhhh" > /www/eeee

VOLUME /www

VOLUME /etc/zypp/repos.d

VOLUME /qqq

ADD SLES12-SP1-12.1-0.repo  /etc/zypp/repos.d/

WORKDIR /root
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: