Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx
Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx
安装MongoDB
1. 拉取镜像
$ sudo docker pull mongo
2. 运行镜像
$ sudo docker run --name mongo -p 27017:27017 -v /srv/mongodb/db:/data/db -v /srv/mongodb/backup:/data/backup -d mongo --auth
3. 进入mongo容器,
$ sudo docker exec -it mongo mongo admin
4. 添加用户
> db.createUser({
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
mechanisms : ["SCRAM-SHA-1"]
});
5. 修改用户权限
$ db.auth("admin", "123456")
$ db.grantRolesToUser("admin", [ { role:"root", db:"admin"} ]) ;
6. 查询用户
$ db.system.users.find();
安装MySQL
1. 拉去镜像
$ sudo docker pull mysql/mysql-server:5.6
2. 启动镜像
$ sudo docker run --name=mysql -p 3306:3306 --volume /etc/localtime:/etc/localtime --volume /srv/mysql/datadir:/var/lib/mysql:z -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:5.6
3. 配置远程连接
3.1 进入docker容器
$ sudo docker exec -it mysql /bin/bash
3.2 进入mysql,密码:123456
$ mysql -uroot -p
3.3 查询远程连接的用户配置
> select user,password,host from mysql.user;
3.4 修改权限:%代表允许所有IP访问,your_password修改为自己的密码
> grant all privileges on *.* to root@"%" identified by "your_password";
3.5 刷新权限
> flush privileges;
安装Nginx
1. 拉取镜像
$ sudo docker pull nginx
2. 运行基础镜像
$ sudo docker run --name nginx -d nginx
3. 把配置目录/etc/nginx复制到共享卷目录
$ sudo mkdir -p /srv/nginx
$ sudo docker cp nginx:/etc/nginx/ /srv/nginx/conf
4. 删除原有镜像
$ sudo docker stop nginx
$ sudo docker rm nginx
5. 重新运行镜像
$ sudo docker run --name nginx -p 80:80 --volume /srv/nginx/conf:/etc/nginx/:Z --volume /srv/nginx/html:/usr/share/nginx/html:Z --volume /srv/nginx/logs:/var/log/nginx:Z --detach nginx
安装Jenkins
1. 拉取镜像
$ sudo docker pull jenkins/jenkins:lts
2. 创建volume文件夹
$ sudo mkdir -p /srv/jenkins
3. 修改volume文件夹权限(不建议添加参数:--privileged=true)
$ sudo chown -R 1000:1000 /srv/jenkins/
4. 运行Docker,其中的":Z"是为了防止由于Selinux权限导致的问题
$ sudo docker run --name="jenkins" --publish 8080:8080 --publish 50000:50000 --volume /srv/jenkins:/var/jenkins_home:Z --restart=always --detach docker.io/jenkins/jenkins:lts
5. 修改/srv/jenkins/hudson.model.UpdateCenter.xml的url为:
# 原来为:http://updates.jenkins-ci.org/update-center.json
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
6. 进入${ip}:8080,如果一直卡在等待页面,提示:显示正在启动,请稍后...。原因是有一个connectionCheckUrl指向了google的网址,由于环境原因,导致一直无法访问,导致一直等待
7. 解决方法:修改/srv/jenkins/updates/default.json,修改为:
# 原来为:http://www.google.com/
"connectionCheckUrl":"https://www.baidu.com/"
8. 如果没有发现updates文件夹,需要先进入jenkins的等待页面,稍等片刻。updates文件夹会出现
9. 至此,Jenkins安装完成,重启jenkins
$ sudo docker restart jenkins
10. 更新设置开机启动、失败自动重启:
$ sudo docker update --restart=always ${CONTAINER ID}
11. 进入Jenkins中,发现下载插件时会失败,解决方案如下:
11.1 安装nginx,参考:安装Nginx
11.2 添加host映射:
$ sudo echo "127.0.0.1 updates.jenkins-ci.org" >> /etc/hosts
11.3 添加nginx配置:
$ sudo vi /srv/nginx/conf/conf.d/jenkins.conf
11.4 添加以下内容:
server {
listen 80;
server_name localhost;
rewrite ^/download/plugins/(.*)$ https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/$1? last;
location /download/plugins
{
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
proxy_pass https://mirrors.tuna.tsinghua.edu.cn;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
14. 再次下载插件,就不会失败,如有其他报错,可参考类似的方法,把地址映射到https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins
15. 完成Jenkins安装及配置
安装Gitlab
1. 拉取镜像
$ sudo docker pull gitlab/gitlab-ee
2. 运行镜像
$ sudo docker run --name gitlab --hostname gitlab.demo.com --publish 6443:443 --publish 680:80 --publish 622:22 --volume /srv/gitlab/config:/etc/gitlab:Z --volume /srv/gitlab/logs:/var/log/gitlab:Z --volume /srv/gitlab/data:/var/opt/gitlab:Z --detach --restart always docker.io/gitlab/gitlab-ee:latest
3. 如果进入首页,报错502,可能是内存不足导致,gitlab要求内存大于2G,可通过虚拟内存解决,但会很卡,下面给出设置虚拟内存命令:
$ sudo dd if=/dev/zero of=/var/swap bs=1024 count=2048000 ; mkswap /var/swap ; swapon /var/swap ; free -h
Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx的更多相关文章
- Docker 安装 mongoDB(五)
Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...
- Linux平台安装MongoDB及使用Docker安装MongoDB
一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...
- docker 安装完mysql 后客户端无法访问
1.在虚拟机的centos 中安装 docker 的mysql 镜像. docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12 ...
- Docker01 centos系统安装、centos安装docker、docker安装mongoDB
1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...
- MongoDB学习笔记二:使用Docker安装MongoDB
目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...
- yum 安装mongodb mysql
// 云环境下更新包 (center os)yum update (多更有益) 修改yum包管理配置:vi /etc/yum.repos.d/mongodb-org-3.4.repo // 会自动新建 ...
- mac系统下docker安装配置mysql详细步骤
上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...
- docker安装mongodb和redis
一.安装mongodb docker pull mongo docker run -p 27017:27017 -d --name mongodb01 mongo docker run -p 2701 ...
- Docker安装配置mysql
Docker安装mysql踩坑日记 拉取镜像 sudo docker pull mysql:5.7 运行镜像 docker run -p 3306:3306 --name mysql -v /myda ...
随机推荐
- Istio可观测性
Istio可观测性 Istio的可观测性包括metrics,日志,分布式链路跟踪以及可视化展示.下面主要介绍如何在istio中部署基于Prometheus的metrics监控,基于jaeger的链路跟 ...
- Mac 的命令行配置字体颜色
1.在mac命令行终端输入: ls -al 查看所有隐藏文件,找到.bash_profile vi .bash_profile 编辑文件,贴入以下内容并保存 source .bash_profil ...
- Fitness - 05.11
倒计时234天 从本周开始改变运动模式 跑步换到每周二.四.六进行. 每周一.三.五增加瑜伽的练习,周日山地车骑行~~~~ 久违的瑜伽课,瑜伽老师居然是男的,第一次看到这么柔软的男生~! 平时感觉不到 ...
- GLSL 着色器程序
除了使用Cg/HSL 着色器程序以外, OpenGL 着色器语言(GLSL)着色器可以直接书写shader. 然而,使用原生的GLSL只推荐作为测试使用,或者你清晰的知道你的目标平台是 Mac OS ...
- 【HttpRunner v3.x】笔记 —— 开篇
最近在社群聊天里,发现了一款适用于http协议的接口框架--HttpRunner.在对其有个大致了解后,我觉得这款框架优点多多,整合了接口测试中所配套用到的多种框架.通过优秀的封装,将case整合到一 ...
- github学生认证——申请学生开发包
写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元. 专业的桌面IDE:IntelliJ IDEA,PyCharm等.学生的免费订阅,每年更新一次. ...
- vue安装pubsub-js 库的命令
1.查看pubsub-js 库是否已经存在该库命令: npm info pubsub-js 2.若不存在,则先安装pubsub-js 库,命令如下: npm install --save pubsub ...
- AWD攻防技战法
round1 弱口令 cat /etc/passwd 查看用户信息 修改用户密码(passwd username) 通过ssh弱口令批量getshell (通过msf的auxiliary/sca ...
- 浅谈DOM事件的优化
在 JavaScript 程序的开发中,经常会用到一些频繁触发的 DOM 事件,如 mousemove.resize,还有不是那么常用的鼠标滚轮事件:mousewheel (在 Firefox 中,滚 ...
- Solr专题(一)手把手教你搭建Solr服务
一.Solr是什么,能解决什么问题? Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对 ...