Docker安装Java, Apache, Redis, Tomcat, Postgresql, SSH
centos 安装Supervisor
http://www.alphadevx.com/a/455-Installing-Supervisor-and-Superlance-on-CentOS
网络设定
# 创建网络
brctl addbr br0
ip link set dev br0 up
ip addr add 192.168.2.1/24 dev br0
# 创建容器
# 方法1
DB=$(docker run -d –name db pandy/centos7-postgresql931)
pipework br0 $DB 192.168.2.100/24
# 方法2
docker run -d –name db pandy/centos7-postgresql931
pipework br0 db 192.168.2.100/24
# 删除容器之后删除网络
ip link set br0 down
brctl delbr br0
SSH
*********************************************************************
Dockerfile
====================
构建:
docker build -t pandy/ssh .
docker run -d -name ssh pandy/ssh
pipework br0 apache 192.168.2.103/24;
Java
*********************************************************************
官方openJDK: https://registry.hub.docker.com/_/java/
OracleJDK: https://registry.hub.docker.com/u/alsanium/java/
centos oracleJDK https://registry.hub.docker.com/u/j728c/java/dockerfile/, 里面应该继续支持解压和压缩:yum -y install tar zip unzip
自己修改后的Dockerfile
====================================
构建:docker build -t pandy/centos7-java7 .
使用:docker run -t -i xxx/xxxx /bin/bash
Apache
*********************************************************************
Dockerfile参考: https://registry.hub.docker.com/u/skydiverss/apache-centos/dockerfile/
构建
docker build -t pandy/apache .
docker run -d -p 81:80 -e SERVERADMIN=”mail@domain.com” -e DEFAULT_LOGS_DIR=”/logs/httpd/defaults” –name=apache -v /home/pandy/docker-resources/apache/conf:/etc/httpd/conf -v /home/pandy/docker-resources/apache/html:/var/www/html pandy/apache //这里不用后面的一些命令, 会自动调用Dockerfile里面的CMD内容
Memcached, 注意,这个没测试成功.
*********************************************************************
Dockerfile参考: https://registry.hub.docker.com/u/centminmod/docker-centos7-memcached/
构建 参考 https://registry.hub.docker.com/u/centminmod/docker-centos7-memcached/
docker build -t pandy/memcached .
docker run –name memcached -d -p 33211:11211 -t pandy/memcached memcached -m 512 -t 2
memcached命令详解:http://nkcoder.github.io/blog/20140215/memcached-usage-parameters-commands/
Redis
*********************************************************************
Dockerfile参考: https://registry.hub.docker.com/u/zhaowh/centos-redis/dockerfile/
构建
docker build -t pandy/redis .
docker run -d -p 6379:6379 pandy/redis
Tomcat
*********************************************************************
官方:https://registry.hub.docker.com/_/tomcat/
centos例子:
1. https://registry.hub.docker.com/u/consol/tomcat-7.0/dockerfile/
2. https://registry.hub.docker.com/u/malderhout/tomcat/dockerfile/
, 里面应该继续支持解压和压缩:yum -y install tar zip unzip
自己修改后的Dockerfile
====================================
supervisord.conf文件代码
[supervisord]
nodaemon=true
[program:tomcat]
command=/opt/tomcat/bin/startup.sh
构建:
docker build -t pandy/centos7-java7-tomcat7 . //构建
docker run -t -i -d –name web -p 81:8080 pandy/centos7-java7-tomcat7 /bin/bash //创建, 这个不会自动启动tomcat
docker run -d –name web -p 81:8080 pandy/centos7-java7-tomcat7 /usr/bin/supervisord //这个会自动启动tomcat
docker run -t -d –name web -p 81:8080 -v /home/pandy/docker-resources/tomcat/webapps:/opt/tomcat/webapps pandy/centos7-java7-tomcat7 /usr/bin/supervisord //这个会自动启动tomcat, 并挂载webapps, 同时可以挂载logs, work等文件夹进去,注意,现在为什么挂载要使用/opt/tomcat7,而不是/opt/tomcat?不是已经做软链接了么?
注意:关于tomcat,在http://support.inovatrend.com/confluence/display/PUBLOG/Java,+Tomcat+and+Docker,介绍
比如:在run追加参数-e “JAVA_OPTS=-Dspring.profiles.active=demo -Xmx1024m”, 可以设定一些变量.
但是https://registry.hub.docker.com/u/maluuba/tomcat7/看到
docker run –cap-add SYS_PTRACE -it -p 8080:8080 -e JAVA_OPTS=’-Dsome.property=value’ -e Xmx=2048m -v deployment:/deployment maluuba/tomcat7
待测试看到底是哪种情况是对的
Postgresql
*********************************************************************
原文:https://registry.hub.docker.com/u/autenta/centos-postgresql/
Image for CentOS 6 and PostgreSQL 9.3 that create database with sv_SE.UTF8 locale.
Source: https://github.com/jotu/docker-centos-postgresql
OBS! This is a simple version and should only be used in development or testing.
Getting Started
You can build this container from Github via
docker pull autenta/centos-postgresql
To run the container you can do the following:
docker run -p 5432:5432 -d -t autenta/centos-postgresql
psql -U postgres -h localhost -p 5432
安装后默认密码为空.
Dockerfile安装
可以使用它的Dockerfile(修改成了centos:7):
vim Dockerfile
=========================================代码如下:
构建
docker build -t pandy/centos7-postgresql931 .
docker run -p 5431:5432 -t -d –name db -v /home/pandy/docker-resources/tb_space/:/usr/pgsql-9.3/tb_space pandy/centos7-postgresql931 //启动并挂载表空间目录
psql -U postgres -h localhost -p 5432
mysql centos6
参考:https://hub.docker.com/r/codebear4/centos6-mysql/~/dockerfile/
bootstrap.sh
create_mysql_user.sh
- #!/bin/bash
- mysql -uroot -e “CREATE USER ‘${MYSQL_USER}’@’%’ IDENTIFIED BY ‘${MYSQL_PASS}'”
- mysql -uroot -e “GRANT ALL PRIVILEGES ON *.* TO ‘${MYSQL_USER}’@’%’ WITH GRANT OPTION”
my.cnf
Dockerfile
docker build -t pandy/centos6-mysql .
docker run –name lamp -d -p 3307:3306 pandy/centos6-mysql
apache + php centos6
docker build -t pandy/centos6-php .
docker run –name lamp -d -p 81:80 pandy/centos6-php
JAVA+Redis+Tomcat
*********************************************************************
supervisord.conf文件
================================
[supervisord]
nodaemon=true
[program:redis]
command=redis-server /etc/redis/redis.conf
[program:tomcat]
command=/opt/tomcat/bin/startup.sh
构建:
docker build -t pandy/centos7-java7-redis3-tomcat7 . //构建
docker run -t -i -d –name web -p 81:8080 pandy/centos7-java7-redis3-tomcat7 /bin/bash //创建, 这个不会自动启动tomcat
docker run -d –name web -p 81:8080 pandy/centos7-java7-redis3-tomcat7 /usr/bin/supervisord //这个会自动启动tomcat
docker run -t -d –name web -p 81:8080 -v /home/pandy/docker-resources/tomcat/webapps:/opt/tomcat/webapps pandy/centos7-java7-redis3-tomcat7 /usr/bin/supervisord //这个会自动启动tomcat, 并挂载webapps, 同时可以挂载logs, work等文件夹进去
