常用的 docker 手记

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                            执行并进入到镜像中

未完待续.....
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值