ftp
docker run -d -v /home/data/vsftpd:/home/vsftpd -p 8020:20 -p 8021:21 -p 8022:22 -p 21100-21110:21100-21110 -e FTP_USER=test -e FTP_PASS=test -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
gitlab
docker run --detach -p 8443:443 -p 8090:8090 -p 8022:22 --name gitlab -e TZ=Asia/Shanghai --restart always --restart=unless-stopped -v /home/data/gitlab/etc:/etc/gitlab -v /home/data/gitlab/logs:/var/log/gitlab -v /home/data/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce
jenkins
docker run -p 9180:8080 -p 50000:50000 -v /home/data/jenkins:/var/jenkins_home --name jenkins --restart always --privileged=true -u root -d jenkins
mysql
docker run -p 3306:3306 --name mysql -m 500M -v E:/mydocker/tools/mysql/logs:/var/log/mysql -v E:/mydocker/tools/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d --restart=unless-stopped mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
nexus3
docker run -d -p 8081:8081 --name nexus -v /home/data/nexus/data:/nexus-data --privileged=true -e TZ=Asia/Shanghai --restart always -d sonatype/nexus3
nginx
docker run --name nginx -v /home/data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/data/nginx/html:/etc/nginx/html -v /home/data/jenkins/workspace/feitu-client:/etc/nginx/client -p 9080:80 --restart=unless-stopped -d nginx
rabbitmq
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v E:/mydocker/tools/rabbitmq/data:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -d rabbitmq
redis
docker run -d -p 6379:6379 --privileged=true --restart=unless-stopped --name redis redis:6.0
svn
docker run -v /home/data/svn/repo:/var/opt/svn --restart always -p 3690:3690 --privileged=true -e SVN_REPONAME=repository -e TZ=Asia/Shanghai -d --name svn garethflowers/svn-server
zentao
docker run --name zentao -p 8880:80 -v /home/data/zentao/zentaopms:/www/zentaopms -v /home/data/zentao/mysqldata:/var/lib/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 --privileged=true --restart always -d easysoft/zentao
zookeeper
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 -p 13080:8080 -e TZ=Asia/Shanghai --name zookeeper --restart=unless-stopped zookeeper
java 项目 自定义镜像
Dockerfile --->
FROM adoptopenjdk/openjdk11 设置java版本
MAINTAINER laowang
COPY app.jar app.jar 拷贝需要的文件到镜像中
COPY application.properties application.properties
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"] 设置执行参数
EXPOSE 11001 51001 需要的端口
执行文件
docker stop xxx 关闭原有
docker rm xxx 移除
docker build -t xxx -f Dockerfile . 根据新的Dockerfile 创建
docker run -d -p 11001:11001 -p 51001:51001 -e TZ=Asia/Shanghai --name xxx xxx 启动并设置端口映射,和时区
docker logs -f xxx 查看日志
springboot + maven + git
Dockerfile --->
FROM centos:7
MAINTAINER laowang
COPY jdk-11.0.10_linux-x64_bin.tar.gz java.tar.gz 指定Java版本,并拷贝到镜像中
RUN tar -zxvf java.tar.gz
COPY apache-maven-3.8.1-bin.tar.gz maven.tar.gz 指定maven版本,并拷贝到镜像中
RUN tar -zxvf maven.tar.gz
RUN cd apache-maven-3.8.1 && mkdir data
COPY settings.xml /apache-maven-3.8.1/conf/settings.xml 如果需要重新设置 settings.xml 则拷贝到镜像
ENV JAVA_HOME /jdk-11.0.10 设置环境变量
ENV MAVEN_HOME /apache-maven-3.8.1
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
RUN yum install -y git 使用原生安装git
RUN git config --global user.name "username" 设置git基础信息
RUN git config --global user.password "password"
RUN git config --global user.email "user@qq.com"
RUN git config --global credential.helper cache
RUN mkdir /gitsource
RUN cd /gitsource && git clone -b develop http://username:password@ip:host/xxx.git 拷贝 指定分支 到本地中
RUN cd /gitsource/xxx && mvn clean compile package -Dmaven.test.skip=true 使用 maven 对项目打包
EXPOSE 22
setting.xml 如果需要设置存储地址或者自定义数据源。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/apache-maven-3.8.1/data</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<mirrors>
<mirror>
<id>maven-snapshots</id>
<mirrorOf>*</mirrorOf>
<url>http://ip:port/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus-repository</id>
<name>nexus-repository</name>
<url>http://ip:port/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://ip:port/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
执行
docker stop pack
docker rm pack
docker build -t pack -f Dockerfile .
docker run -ti pack /bin/bash 执行并进入到镜像中
未完待续.....