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
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
相关文章推荐
- docker: 解决centos7下cgroup.procs: no such device的错误
- S-Docker_02_基本概念_02_容器
- S-Docker_02_基本概念_01_镜像
- docker容器秒死的解决办法
- Docker学习笔记(4) — 开启Docker远程访问
- Docker学习笔记(3) — docker仓库的镜像怎么删除
- docker下gitlab运行
- docker 源码分析 六(基于1.8.2版本),Docker run启动过程
- 在容器中使用quagga
- Docker镜像和容器系列(二)- 操作详解
- Docker命令详解系列(一)- Docker最常用命令速记
- docker registry私服搭建
- windows10/2016上使用docker
- Docker Registry V1 与 V2 的区别解析以及灵雀云的实时同步迁移实践
- Docker Web-UI
- Docker run命令详解 转
- docker command
- redhat7 安装 docker
- docker学习-安装及基本命令使用
- Docker SSH+NGHINX+MYSQL