一、安装MySQL
1、下拉镜像
docker pull mysql:8.0.16
2.运行容器
docker run -i -t -d --name=mysql -v /home/mysql:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16
使用navicat连接mysql 8.0出现如下错误,但是使用mysql workbench8.0连接成功
分析:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
解决:修改加密规则。使用docker exec -it -u root mysql /bin/bash命令进入mysql容器,然后登录mysql,然后按照下图步骤操作
二、安装Redis
简介:REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
1、下拉镜像
docker pull redis:5.0.4
2、运行容器
sudo docker run -i -t -d --name=redis -v /home/redis:/data -p 6379:6379 --restart=always redis:5.0.4 redis-server --appendonly yes --requirepass "123456"
分析:redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置,--requirepass设置redis登录密码
三、安装Jenkins
1.下拉镜像
docker pull jenkins:lts
2、运行容器
sudo docker run -p 9000:8080 -p 50000:50000 --name jenkins -v /jenkins-data:/var/jenkins_home --env JAVA_OPTS="-Duser.timezone=GMT+08" jenkins/jenkins:lts
出现错误:
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
解决:
sudo chown -R 1000 jenkins-data #修改jenkins-data文件夹的拥有者和群组
docker start jenkins #启动容器
小技巧:进入Jenkins容器查看初始密码
docker exec -it -u root jenkins /bin/bash #进入容器
cat /var/jenkins_home/secrets/initialAdminPassword #查看初始密码
四、安装Minio
简介:Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。
1、下拉镜像
docker pull minio/minio
2、运行容器
sudo docker run -i -t -d --name=minio -v /home/minio/data:/data -v /home/minio/config:/root/.minio -p 6225:9000 --restart=always -e "MINIO_DOMAIN=minio123" -e "MINIO_ACCESS_KEY=minio123" -e "MINIO_SECRET_KEY=123456" minio/minio:latest server /data
分析:-e "MINIO_DOMAIN=minio123" 设置域;-e "MINIO_ACCESS_KEY=minio123" 节点上将访问密钥;-e "MINIO_SECRET_KEY=123456" 节点上密钥;server /data 为命令