安装Jmeter
下载jmeter
https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/apache-jmeter-5.4.tgz
创建Dockerfile
vi Dockerfile
编辑
FROM java:8 ENV http_proxy "" ENV https_proxy "" RUN mkdir /jmeterdocker RUN mkdir -p /jmeterdocker/test RUN mkdir -p /jmeterdocker/test/input/jmx RUN mkdir -p /jmeterdocker/test/input/testdata RUN mkdir -p /jmeterdocker/test/report/html RUN mkdir -p /jmeterdocker/test/report/jtl RUN mkdir -p /jmeterdocker/test/report/outputdata RUN cd /jmeterdocker ENV JMETER_VERSION=5.4 ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION} ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH} ENV PATH=${JMETER_HOME}/bin:${PATH} COPY apache-jmeter-${JMETER_VERSION}.tgz /jmeterdocker RUN cd /jmeterdocker \ && tar xvf apache-jmeter-5.4.tgz \ && rm apache-jmeter-5.4.tgz
运行Dockerfile
docker build -t jmeter_test:v1 .
创建并运行容器
docker run --name="[REPOSITORY]" --net="host" -v /tmp/jmeterspace/test/input/jmx:/jmeterdocker/test/input/jmx \ -v /tmp/jmeterspace/test/input/testdata:/jmeterdocker/test/input/testdata \ -v /tmp/jmeterspace/test/report/html:/jmeterdocker/test/report/html \ -v /tmp/jmeterspace/test/report/jtl:/jmeterdocker/test/report/jtl \ -v /tmp/jmeterspace/test/report/outputputdata:/jmeterdocker/test/report/outputdata \ -it -d [IMAGE ID]
运行容器
docker start [CONTAINER ID]
进入容器
docker exec -it [CONTAINER ID] /bin/bash
参考学习文档:https://www.jianshu.com/p/69f1aa64a92b
安装Jenkins
拉取镜像
我这里安装的版本是2.222.3-centos
,可以去这里获取你需要的版本: https://hub.docker.com/_/jenkins?tab=tags
docker pull jenkins/jenkins:2.222.3-centos
创建本地数据券
我这里映射本地数据卷的路径为/data/jenkins_home/
,你想放别的地方可以自行修改
mkdir -p /data/jenkins_home/
需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_home/
目录的拥有者为root
用户,而容器中jenkins
用户的 uid 为 1000
。
chown -R 1000:1000 /data/jenkins_home/
创建容器
docker run -d --name jenkins -p 8040:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:2.222.3-centos
-d
标识是让 docker 容器在后台运行--name
定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID-p 8040:8080
端口映射,我本地的8080
被占用了,所以随便映射了一个8040
-p 50000:50000
端口映射-v /data/jenkins_home:/var/jenkins_home
绑定一个数据卷,/data/jenkins_home
是刚才创建的本地数据卷
报错:
[root@localhost /]# docker run -it ubuntu /bin/bash
WARNING: IPv4 forwarding is disabled. Networking will not work.
解决方式:
第一步:在宿主机上执行echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
第二步:重启network和docker服务
[root@localhost /]# systemctl restart network && systemctl restart docker
systemctl restart network && systemctl restart docker
第三步:验证是否成功
docker start jenkins
配置Jenkins
打开Jenkins
通过浏览器访问 http://本地IP:8040/
(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容
这里要求输入初始的管理员密码,根据提示密码在/var/jenkins_home/secrets/initialAdminPassword
这个文件中,注意这个路径是 Docker 容器中的,所以我们通过如下命令获取一下
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
切换成中文
安装插件:
系统管理 / 插件管理,打开“可选插件”,选择locale 插件,点击“下载待重启后安装“按钮安装。
勾选“安装完成后重启Jenkins“
系统管理
Manage Jenkins / Configure System找到Locale
输入Default Language为zh_CN
(注意:不是zh-CN
)
勾选“Ignore browser preference and force this language to all users“
Save
如果以上没用
变成中文成功!
安装Redis
查看可用的 Redis 版本
访问 Redis 镜像库地址: https://hub.docker.com/_/redis?tab=tags
docker pull redis # 或者 docker pull redis:rc-alpine3.12
查看redis镜像
docker images
运行容器
docker run -itd --name redis-test -p 6379:6379 redis
参数说明:
- -p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
安装成功
docker ps
安装Gitlab
搜索gitlab镜像
docker search gitlab
创建gitlab容器
前置操作
由于是docker 镜像运行,所以我们需要把gitlab 容器的配置、数据、日子存到容器外面,将目录挂载到主机上先准备三个目录:
#切到srv目录 cd /srv #创建gitlab文件夹 mkdir gitlab cd gitlab mkdir config logs data
创建容器
docker run -d -p 443:443 -p 9001:80 -p 8022:22 \ --name gitlab \ --restart always \ --privileged=true \ -v /srv/gitlab/config:/etc/gitlab \ -v /srv/gitlab/logs:/var/log/gitlab \ -v /srv/gitlab/data:/var/opt/gitlab \ -v /etc/localtime:/etc/localtime:ro \ gitlab/gitlab-ce
访问gitlab网站
http://ip:9001