玖叶教程网

前端编程开发入门

我收集的 Docker Images

docker run增加如下参数,限制生成的json.log单个文件大小和保留文件个数:

--log-driver json-file --log-opt max-size=10m
--log-opt max-size=10m --log-opt max-file=3

1,tomcat

以下为云平台的前端执行:

docker run -d --name tomcatweb -e TZ="Asia/Shanghai" -p 8080:8080 \
-v /disk02/tomcat/web/webapps:/usr/local/tomcat/webapps \
-v /disk02/tomcat/web/logs:/usr/local/tomcat/logs \
-v /disk02/tomcat/web/temp:/usr/local/tomcat/temp --restart=always docker.io/tomcat:8.5.14

使 ubuntu系统,如果要更改内部配置,则使用 apt-get update/install 来安装软件;

sudo apt-get install vim-gtk

2,ftp

参考网址:https://hub.docker.com/r/stilliard/pure-ftpd/ http://www.cnblogs.com/HD/p/5664394.html

docker run -d --name ftpserver -p 21:21 -p 30000-30009:30000-30009 --restart=always -v /usr/local/tomcat/web/webapps:/srv/ftp stilliard/pure-ftpd

进入 image 中添加用户和密码:

docker exec -it ftpserver /bin/bash

添加用户和目录:

pure-pw useradd user01 -u ftpuser -d /srv/ftp
pure-pw mkdb

使用以下的软件vsftpd:

参照以下网址:https://github.com/AndrewVos/docker-proftpd

docker pull andrewvos/docker-proftpd
docker run --name vsftpd -p 21:21 -p 20:20 -e USERNAME=user01 -e PASSWORD=dongbao123 --restart=always -v /usr/local/tomcat/web/webapps:/ftp andrewvos/docker-proftpd
ftp -p localhost 21
Name (0.0.0.0:andrew): username
Password:
ftp> ls

另一种方案:

https://github.com/ruo91/docker-vsftpd

A,docker build --rm -t vsftpd:3.0.2 .
B,docker run -d --name="vsftpd" --restart=always -h "vsftpd” \ -p 21:21 -v /usr/local/tomcat/web/webapps:/home -v /usr/local/vsftpd/config:/etc/vsftpd/ -v /tmp:/tmp vsftpd:3.0.2
docker run -d --name="vsftpd" --restart=always -p 21:21 -v /usr/local/tomcat/web/webapps:/home -v /usr/local/vsftpd/config:/etc/vsftpd/ -v /tmp:/tmp vsftpd:3.0.2

C,创建用户 ROOT

docker exec vsftpd vsftpd_vuser.sh ROOT dongbao123

注意,在/usr/local/tomcat/web/webapps中创建了 ROOT 文件夹,以用户名来创建文件夹。

3,nginx安装:

优先参照官网文档:https://hub.docker.com/_/nginx/

https://github.com/hnakamur/docker-nginx-lua

https://hub.docker.com/_/nginx/

以下是正确的配置:

docker run -d --name nginx --restart=always -p 80:80 -p 443:443 -p 8888:8888 -v /disk02/tomcat/api/webapps:/usr/share/nginx/html -v /disk02/nginx/log:/var/log/nginx -e TZ="Asia/Shanghai" nginx:latest

docker run -d --name nginx -p 80:80 -p 443:443 -v /disk02/nginx/html:/usr/share/nginx/html --restart=always nginx:latest

docker cp /root/backup/hizeer.com nginx:/usr/share/nginx/
docker cp /root/backup/default.conf nginx:/etc/nginx/conf.d/default.conf
docker cp nginx:/etc/nginx/conf.d/default.conf default.conf.bak
docker restart nginx

http://yonsz.com/wiki/images/f/fc/Nginx-filebeat.zip

docker build -t filebeat-nginx .
docker run -p 80:80 -p 443:443 -p 8181:8181 -d -it --link elk --restart=always --name nginx filebeat-nginx
docker run -p 80:80 -p 443:443 -p 8181:8181 -d -it --restart=always --name nginx filebeat-nginx

重新绑定一个端口:

1、获得容器IP

docker inspect nginx | grep IPAddress

2、将容器的8000端口映射到Docker主机的8001端口

iptables -t nat -A DOCKER -p tcp --dport 8181 -j DNAT --to-destination 172.17.0.2:18181

4,打包服务:jenkins:(2.46.1版本没有内存溢出的问题)

mkdir /disk02/jenkins
mkdir /disk02/jenkins/jobs
mkdir /disk02/jenkins/tools
mkdir /disk02/jenkins/repo
chmod -R 777 /disk02/jenkins
chown -R 200 /disk02/jenkins

正确的:

docker run --restart=always -e TZ="Asia/Shanghai" --name jenkins -p 9091:8080 \
 -v /disk02/jenkins/jobs:/var/jenkins_home/jobs \
 -v /disk02/jenkins/tools:/var/jenkins_home/tools \
 -v /disk02/jenkins/repo:/var/jenkins_home/repo jenkins/jenkins 

访问地址如:

http://localhost:9091

不需要带 jenkins 工程名称;

docker exec -it jenkins /bin/bash

5,nexus:

mkdir /data2/nexus
mkdir /data2/nexus/data
chown -R 200 /disk02/nexus/data —注意必须是200的所有者权限;
docker run -d -p 8080:8081 --name nexus --restart=always -v /disk02/nexus/data:/sonatype-work sonatype/nexus

docker run -d -p 8080:8081 --name nexus --restart=always -v /disk02/nexus/data:/sonatype-work sonatype/nexus

注意运行出错时,要关闭 linux 的 SELinux 功能。

6,安装 redis

docker run --name redis -d --restart=always --publish 6379:6379 --volume /usr/local/redis:/var/lib/redis sameersbn/redis:latest --appendonly yes

增加密码:

docker run --name redis -d --restart=always \

--publish 6379:6379 \

--env 'REDIS_PASSWORD=yonsz.com' \

--volume /disk02/redis:/var/lib/redis \

sameersbn/redis:latest

要关闭执行以下命令:

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

7,elk

docker run -p 5601:5601 -p 9200:9200 -p 5044:5000 --restart=always -it -v /disk02/elk/data:/data -v /disk02/elk/logstash:/var/log/logstash --name elk 18fgsa/elk-docker

sudo sysctl -w vm.max_map_count=262144

单独的 docker pull logstash

docker run -it -v /disk02/nginx/log:/disk02/nginx/log --rm logstash -e 'input { file { path => "/disk02/nginx/log/*.log" type => "nginx"} } output { elasticsearch { hosts => "10.135.143.159:9200" } }'

docker run -it -v /disk02/nginx/log:/disk02/nginx/log --name logstash logstash -e 'input { file { path => "/disk02/nginx/log/*.log" type => "nginx"} } output { elasticsearch { hosts => "10.135.143.159:9200" } }'

以下是正确的:

docker run -d --restart=always -p 5601:5601 -p 5044:5000 -p 9200:9200 -p 9300:9300 --name elk --ulimit nofile=65536:65536 -v /disk02/nginx/log:/opt/nginx/log kenwdelong/elk-docker:latest

docker run -d --restart=always -p 5601:5601 -p 5044:5000 -p 9200:9200 -p 9300:9300 --name elk --ulimit nofile=65536:65536 kenwdelong/elk-docker:latest

#5601 9200 9300 5000 5044

https://hub.docker.com/r/kenwdelong/elk-docker/

直接写入到 elk 中的示例:

docker run --name jhipster.pxgateway -e TZ="Asia/Shanghai”

--log-driver=syslog --log-opt syslog-address=tcp://10.135.143.159:5044 --log-opt syslog-facility=daemon

-v /disk02/jhipster/pxgateway/log:/tmp --restart=always -p 8080:8080 -p 5701:5701/udp jhipster.pxgateway:1.0

8,mediawiki

9,apachephp

docker run -d --name apache-php --restart=always -p 0.0.0.0:8000:80 --volume /disk02/apache-php/www:/app webdevops/php-apache:latest

不建议使用下面的 docker

git clone https://github.com/jjcosgrove/docker-apache-php.git

docker build -t apache-php .

docker run -d --name apache-php --restart=always -p 0.0.0.0:8000:80 --volume /usr/local/apache-php/www:/var/www apache-php:latest

docker run -d --name apache-php --restart=always -p 0.0.0.0:8000:80 --volume /usr/local/apache-php/www:/app webdevops/php-apache:ubuntu-15.10

10,rabbitmq

docker run --name rabbitmq -d -p 5672:5672 -p 15672:15672 -v /usr/local/rabbitmq/log:/data/log -v /usr/local/rabbitmq/data:/data/mnesia dockerfile/rabbitmq

参照网址:https://github.com/frodenas/docker-rabbitmq

docker run -d --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 -e RABBITMQ_USERNAME=admin -e RABBITMQ_PASSWORD=admin frodenas/rabbitmq

docker run -d --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3-management

第一次使用 Z1时,请注意登录后台添加 quaue和 exchange,否则启动会出错。

11,activemq:

docker run --name activemq -p 61616:61616 -e ACTIVEMQ_ADMIN_LOGIN=admin -e ACTIVEMQ_ADMIN_PASSWORD=admin --restart=always -d webcenter/activemq:latest

docker run -d -p 8161:8161 -p 61616:61616 -e ACTIVEMQ_ADMIN_LOGIN=admin -e ACTIVEMQ_ADMIN_PASSWORD=admin --name activemq -v /usr/local/activemq:/opt/apache-activemq-5.13.3/data -v /usr/local/activemq/kahadb:/opt/apache-activemq-5.13.3/data/kahadb registry.aliyuncs.com/daydayup/activemq

12, zookeeper

docker run -d --name zookeeper --restart=always -p 2181:2181 zookeeper

13,安装 mysql

docker run --name mysql -p 3306:3306 --restart=always -d -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest

配置文件在以下目录:

mysql:/etc/mysql/

主要配置文件在:

docker cp backup/mysql/mysql.conf.d/mysqld.cnf mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

14,solr:

mkdir /disk02/solr

chmod -R 777 /disk02/solr

docker run --name solr -d -p 8983:8983 -t -w /opt solr:6.5.1

docker cp solr:/opt/solr /disk02/solr

docker run --name solr -d -p 8983:8983 -t -w /opt -v /disk02/solr:/opt/solr solr:6.5.1

docker run --name laravel -p 8090:80 -v /disk02/laravel/solr_app/app/:/var/www/laravel/app/ -v /disk02/laravel/solr_app/public/:/var/www/laravel/public/ -d eboraas/laravel

15,运行 springboot 的 docker:

15.1,Dockerfile

#基础镜像:仓库是java,标签用8u66-jdk

FROM java:8u66-jdk

#当前镜像的维护者和联系方式

MAINTAINER yonsz [email protected]

#将打包好的spring程序拷贝到容器中的指定位置

ADD target/NettyMqBoot-1.0.1-SNAPSHOT.jar /app.jar

#容器对外暴露8080端口

EXPOSE 9191

EXPOSE 18866

#容器启动后需要执行的命令

CMD java -Djava.security.egd=file:/dev/./urandom -jar /app.jar

15.2,docker build --rm -t springboot:1.0 .

15.3,docker 运行时,需要把对应的 jar 文件docker cp xxx.jar netty:/app.jar

docker run --name springboot.api -e TZ="Asia/Shanghai" --restart=always -p 18866:18866 -p 9191:9191 yonsz/springboot:1.0

docker run --name springboot.fav -e TZ="Asia/Shanghai" --restart=always -p 8182:8182 springboot:1.0

docker run --name mobilenetty -e TZ="Asia/Shanghai" --restart=always -p 25533:25533 -p 9292:9292 springboot:1.0

16,mongodb

docker run --name mongo --restart=always -d -p 27017:27017 -p 28017:28017 -e MONGODB_USER="root" -e MONGODB_DATABASE="hi_database" -e MONGODB_PASS=“root123” -v /disk02/mongodb/db:/data/db tutum/mongodb

建议用以下的语句:

docker run -p 27017:27017 --restart=always --name mongodb -d -e MONGODB_USER=user -e MONGODB_PASSWORD=root123 -e MONGODB_DATABASE=mydb -e MONGODB_ADMIN_PASSWORD=admin123 -e TZ="Asia/Shanghai" -v /disk02/mongodb/data:/var/lib/mongodb/data centos/mongodb-32-centos7

chmod -R 777 /disk02/mongodb/data

17,hazelcast

docker run --name hazelcast --restart=always -p 5701:5701 -ti hazelcast/hazelcast

18,sonarqube

docker run -d --name sonarqube -v /disk02/sonarqube/data:/opt/sonarqube/data -p 19000:9000 -p 19092:9092 \

-e SONARQUBE_JDBC_USERNAME=root \

-e SONARQUBE_JDBC_PASSWORD=shl#@1908 \

-e SONARQUBE_JDBC_URL='jdbc:mysql://10.66.101.244:3306/sonar?useUnicode=true&characterEncoding=utf8' \

sonarqube:latest

19,fastdfs

docker run -d --name tracker -v /disk02/fastdfs/tracker:/data/fast_data --net=host morunchang/fastdfs sh tracker.sh

docker run -d --name storage0 -v /disk02/fastdfs/storage0:/data/fast_data --net=host -e TRACKER_IP=172.17.0.1:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

以上需要更改 storage 的 nginx 的端口配置;

以下不建议使用。

//git clone https://github.com/phinexdaz/docker_fastdfs.git

使用附件:

20,storm

20.1,先安装 zookeeper

docker run -d --name zookeeper --restart=always -p 2181:2181 zookeeper

20.2:

docker run -d --restart always --name storm-nimbus --link zookeeper:zookeeper storm storm nimbus

#docker run -d --restart always --name storm-supervisor --link zookeeper:zookeeper --link storm-nimbus:nimbus storm storm supervisor

#docker run --link storm-nimbus:nimbus -it --rm -v $(pwd)/topology.jar:/topology.jar storm storm jar /topology.jar org.apache.storm.starter.WordCountTopology topology

最后:

docker run -d -p 8080:8080 --restart always --name storm-ui --link storm-nimbus:nimbus storm storm ui

21,jhipster-registry

docker run -d --restart always --name jhipster-registry -p 8761:8761 -e TZ="Asia/Shanghai" jhipster/jhipster-registry

docker build --rm -t jhipster-registry:1.0 .

docker run -d --restart always --name jhipster-registry -p 8761:8761 -e TZ="Asia/Shanghai" jhipster-registry:1.0

docker build --rm -t uaa .

docker-compose -f app.yml up

22,jhipster

https://www.jhipster.tech/installation/

  1. docker container stop jhipster
  2. docker container rm jhipster
  3. docker image pull jhipster/jhipster
  4. docker container run --name jhipster -v /disk02/jhipster:/home/jhipster/app -v /disk02/jhipster/.m2:/home/jhipster/.m2 -p 8080:8080 -p 9000:9000 -p 3001:3001 -d -t jhipster/jhipster

使用 root 进入容器:

docker container exec -it --user root jhipster bash

23,Docker 镜像分析工具 diving

docker run -d —name diving --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 7001:7001 \ vicanso/diving

24,sonarqube

docker run -d --name sonarqube --restart=always -p 9000:9000 -p 9092:9092 \

-e SONARQUBE_JDBC_USERNAME=root \

-e SONARQUBE_JDBC_PASSWORD=123456 \

-e SONARQUBE_JDBC_URL="jdbc:mysql://172.17.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube

docker run \

-ti \

-d \

--restart=always \

--name shipyard-controller \

--link shipyard-rethinkdb:rethinkdb \

--link shipyard-swarm-manager:swarm \

-p 8888:8080 \

shipyard/shipyard:latest \

server \

-d tcp://swarm:3375

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --restart=always -d -t denibertovic/elasticsearch

curl -X GET localhost:9200

尝试使用 Kitematic 来管理 docker

docker run --name docker_registry --restart=always -d -p 5000:5000 -v /usr/local/docker/registry:/tmp/registry registry:latest

执行 docker system prune -a 命令之后,Docker占用的磁盘空间减少了很多:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言