1、拉取镜像
#ubuntu-16.04.1-server-amd64 sudo apt-get install docker sudo apt-get install docker-compose #拉取镜像 sudo docker pull mysql:5.7 sudo docker pull redis:3.2 sudo docker pull mongo:3.4 sudo docker pull jetty:9.3-jre8 sudo docker pull nginx:1.11 sudo docker pull elasticsearch:5.1 sudo docker pull ubuntu:16.04
2、新建网络
sudo docker network create hiup
3、整理yml文件
3.1yml版本1
h01-mysql02: image: mysql:5.7 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-mysql02 net: hiup ports: - "3306:3306" volumes: - /home/hiup/docker/data/mysql/var/lib/mysql:/var/lib/mysql - /home/hiup/docker/data/mysql/etc/mysql/conf.d:/etc/mysql/conf.d environment: - MYSQL_ROOT_PASSWORD=hiup log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-redis02: image: redis:3.2 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-redis02 net: hiup volumes: - /home/hiup/docker/data/redis/etc/redis/:/etc/redis/ - /home/hiup/docker/data/redis/data:/data ports: - "6379:6379" command: redis-server /etc/redis/redis.conf log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-mongo02: image: mongo:3.4 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-mongo02 net: hiup ports: - "27017:27017" volumes: - /home/hiup/docker/data/mongo/etc/mongod.conf:/etc/mongod.conf - /home/hiup/docker/data/mongo/data/db:/data/db log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-jetty02: image: jetty:9.3-jre8 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-jetty02 net: hiup ports: - "8080:8080" volumes: - /home/hiup/docker/data/jetty/usr/local/jetty/etc:/usr/local/jetty/etc - /home/hiup/docker/data/jetty/webapps:/var/lib/jetty/webapps log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-nginx02: image: nginx:1.11 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-nginx02 net: hiup ports: - "80:80" volumes: - /home/hiup/docker/data/nginx/etc/nginx/nginx.conf:/etc/nginx/nginx.conf - /home/hiup/docker/data/nginx/usr/share/nginx/html:/usr/share/nginx/html log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-es02: image: elasticsearch:5.1 mem_limit: 640m cpu_shares: 100 tty: true hostname: h01-es02 net: hiup ports: - "9200:9200" - "9300:9300" volumes: - /home/hiup/docker/data/es/usr/share/elasticsearch/config:/usr/share/elasticsearch/config - /home/hiup/docker/data/es/usr/share/elasticsearch/data:/usr/share/elasticsearch/data command: elasticsearch log_driver: "json-file" log_opt: max-size: "10m" max-file: "10" h01-ubuntu02: image: ubuntu:16.04 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-ubuntu02 net: hiup #ports: #volumes: command: /bin/bash log_driver: "json-file" log_opt: max-size: "10m" max-file: "10"
3.2yml版本2
version: '2' services: h01-mysql02: image: mysql:5.7 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-mysql02 network_mode: hiup ports: - "3306:3306" volumes: - /home/hiup/docker/data/mysql/var/lib/mysql:/var/lib/mysql - /home/hiup/docker/data/mysql/etc/mysql/conf.d:/etc/mysql/conf.d environment: - MYSQL_ROOT_PASSWORD=hiup logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-redis02: image: redis:3.2 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-redis02 network_mode: hiup volumes: - /home/hiup/docker/data/redis/etc/redis/:/etc/redis/ - /home/hiup/docker/data/redis/data:/data ports: - "6379:6379" command: redis-server /etc/redis/redis.conf logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-mongo02: image: mongo:3.4 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-mongo02 network_mode: hiup ports: - "27017:27017" volumes: - /home/hiup/docker/data/mongo/etc/mongod.conf:/etc/mongod.conf - /home/hiup/docker/data/mongo/data/db:/data/db logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-jetty02: image: jetty:9.3-jre8 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-jetty02 network_mode: hiup ports: - "8080:8080" volumes: - /home/hiup/docker/data/jetty/usr/local/jetty/etc:/usr/local/jetty/etc - /home/hiup/docker/data/jetty/webapps:/var/lib/jetty/webapps logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-nginx02: image: nginx:1.11 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-nginx02 network_mode: hiup ports: - "80:80" volumes: - /home/hiup/docker/data/nginx/etc/nginx/nginx.conf:/etc/nginx/nginx.conf - /home/hiup/docker/data/nginx/usr/share/nginx/html:/usr/share/nginx/html logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-es02: image: elasticsearch:5.1 mem_limit: 640m cpu_shares: 100 tty: true hostname: h01-es02 network_mode: hiup ports: - "9200:9200" - "9300:9300" volumes: - /home/hiup/docker/data/es/usr/share/elasticsearch/config:/usr/share/elasticsearch/config - /home/hiup/docker/data/es/usr/share/elasticsearch/data:/usr/share/elasticsearch/data command: elasticsearch logging: driver: "json-file" options: max-size: "10m" max-file: "10" h01-ubuntu02: image: ubuntu:16.04 mem_limit: 128m cpu_shares: 100 tty: true hostname: h01-ubuntu02 network_mode: hiup ports: volumes: command: /bin/bash logging: driver: "json-file" options: max-size: "10m" max-file: "10"
4、运行
sudo docker-compose up -d
5、配置文件目录
. ├── es │ └── usr │ └── share │ └── elasticsearch │ ├── config │ │ ├── elasticsearch.yml │ │ ├── log4j2.properties │ │ └── scripts │ └── data │ └── nodes │ └── 0 │ ├── node.lock │ └── _state │ ├── global-0.st │ └── node-0.st ├── jetty │ ├── usr │ │ └── local │ │ └── jetty │ │ └── etc │ │ ├── example-quickstart.xml │ │ ├── gcloud-memcached-session-context.xml │ │ ├── gcloud-session-context.xml │ │ ├── hawtio.xml │ │ ├── home-base-warning.xml │ │ ├── jamon.xml │ │ ├── jdbcRealm.properties │ │ ├── jetty-alpn.xml │ │ ├── jetty-annotations.xml │ │ ├── jetty-cdi.xml │ │ ├── jetty.conf │ │ ├── jetty-debuglog.xml │ │ ├── jetty-debug.xml │ │ ├── jetty-deploy.xml │ │ ├── jetty-gcloud-memcached-sessions.xml │ │ ├── jetty-gcloud-session-idmgr.xml │ │ ├── jetty-gcloud-sessions.xml │ │ ├── jetty-gzip.xml │ │ ├── jetty-http2c.xml │ │ ├── jetty-http2.xml │ │ ├── jetty-http-forwarded.xml │ │ ├── jetty-https.xml │ │ ├── jetty-http.xml │ │ ├── jetty-infinispan.xml │ │ ├── jetty-ipaccess.xml │ │ ├── jetty-jaas.xml │ │ ├── jetty-jdbc-sessions.xml │ │ ├── jetty-jmx-remote.xml │ │ ├── jetty-jmx.xml │ │ ├── jetty-logging.xml │ │ ├── jetty-lowresources.xml │ │ ├── jetty-monitor.xml │ │ ├── jetty-nosql.xml │ │ ├── jetty-plus.xml │ │ ├── jetty-proxy-protocol-ssl.xml │ │ ├── jetty-proxy-protocol.xml │ │ ├── jetty-proxy.xml │ │ ├── jetty-requestlog.xml │ │ ├── jetty-rewrite-customizer.xml │ │ ├── jetty-rewrite.xml │ │ ├── jetty-setuid.xml │ │ ├── jetty-spring.xml │ │ ├── jetty-ssl-context.xml │ │ ├── jetty-ssl.xml │ │ ├── jetty-started.xml │ │ ├── jetty-stats.xml │ │ ├── jetty-threadlimit.xml │ │ ├── jetty.xml │ │ ├── jminix.xml │ │ ├── jolokia.xml │ │ ├── krb5.ini │ │ ├── README.spnego │ │ ├── rewrite-compactpath.xml │ │ ├── spnego.conf │ │ ├── spnego.properties │ │ └── webdefault.xml │ └── webapps │ └── jvmjsp.war ├── mongo │ ├── data │ │ └── db │ │ ├── collection-0-4376730799513530636.wt │ │ ├── collection-2-4376730799513530636.wt │ │ ├── collection-5-4376730799513530636.wt │ │ ├── diagnostic.data │ │ │ └── metrics.2016-12-27T08-57-50Z-00000 │ │ ├── index-1-4376730799513530636.wt │ │ ├── index-3-4376730799513530636.wt │ │ ├── index-4-4376730799513530636.wt │ │ ├── index-6-4376730799513530636.wt │ │ ├── journal │ │ │ ├── WiredTigerLog.0000000001 │ │ │ ├── WiredTigerPreplog.0000000001 │ │ │ └── WiredTigerPreplog.0000000002 │ │ ├── _mdb_catalog.wt │ │ ├── mongod.lock │ │ ├── sizeStorer.wt │ │ ├── storage.bson │ │ ├── WiredTiger │ │ ├── WiredTigerLAS.wt │ │ ├── WiredTiger.lock │ │ ├── WiredTiger.turtle │ │ └── WiredTiger.wt │ └── etc │ └── mongod.conf ├── mysql │ ├── etc │ │ └── mysql │ │ └── conf.d │ │ ├── docker.cnf │ │ └── mysql.cnf │ └── var │ └── lib │ └── mysql │ ├── auto.cnf │ ├── ib_buffer_pool │ ├── ibdata1 │ ├── ib_logfile0 │ ├── ib_logfile1 │ ├── mysql [error opening dir] │ ├── performance_schema [error opening dir] │ └── sys [error opening dir] ├── nginx │ ├── etc │ │ └── nginx │ │ └── nginx.conf │ └── usr │ └── share │ └── nginx │ └── html │ ├── 50x.html │ └── index.html └── redis ├── data │ └── dump.rdb └── etc └── redis ├── redis.conf └── sentinel.conf
6、本地工具安装
sudo apt-get install mysql-client sudo apt-get install redis-tools sudo apt-get install mongodb-clients sudo apt-get install curl