Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx

安装MongoDB

  1. 1. 拉取镜像
  2. $ sudo docker pull mongo
  3. 2. 运行镜像
  4. $ sudo docker run --name mongo -p 27017:27017 -v /srv/mongodb/db:/data/db -v /srv/mongodb/backup:/data/backup -d mongo --auth
  5. 3. 进入mongo容器,
  6. $ sudo docker exec -it mongo mongo admin
  7. 4. 添加用户
  8. > db.createUser({
  9. user: "admin",
  10. pwd: "123456",
  11. roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
  12. mechanisms : ["SCRAM-SHA-1"]
  13. });
  14. 5. 修改用户权限
  15. $ db.auth("admin", "123456")
  16. $ db.grantRolesToUser("admin", [ { role:"root", db:"admin"} ]) ;
  17. 6. 查询用户
  18. $ db.system.users.find();

安装MySQL

  1. 1. 拉去镜像
  2. $ sudo docker pull mysql/mysql-server:5.6
  3. 2. 启动镜像
  4. $ 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
  5. 3. 配置远程连接
  6. 3.1 进入docker容器
  7. $ sudo docker exec -it mysql /bin/bash
  8. 3.2 进入mysql,密码:123456
  9. $ mysql -uroot -p
  10. 3.3 查询远程连接的用户配置
  11. > select user,password,host from mysql.user;
  12. 3.4 修改权限:%代表允许所有IP访问,your_password修改为自己的密码
  13. > grant all privileges on *.* to root@"%" identified by "your_password";
  14. 3.5 刷新权限
  15. > flush privileges;

安装Nginx

  1. 1. 拉取镜像
  2. $ sudo docker pull nginx
  3. 2. 运行基础镜像
  4. $ sudo docker run --name nginx -d nginx
  5. 3. 把配置目录/etc/nginx复制到共享卷目录
  6. $ sudo mkdir -p /srv/nginx
  7. $ sudo docker cp nginx:/etc/nginx/ /srv/nginx/conf
  8. 4. 删除原有镜像
  9. $ sudo docker stop nginx
  10. $ sudo docker rm nginx
  11. 5. 重新运行镜像
  12. $ 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. 1. 拉取镜像
  2. $ sudo docker pull jenkins/jenkins:lts
  3. 2. 创建volume文件夹
  4. $ sudo mkdir -p /srv/jenkins
  5. 3. 修改volume文件夹权限(不建议添加参数:--privileged=true
  6. $ sudo chown -R 1000:1000 /srv/jenkins/
  7. 4. 运行Docker,其中的":Z"是为了防止由于Selinux权限导致的问题
  8. $ 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
  9. 5. 修改/srv/jenkins/hudson.model.UpdateCenter.xmlurl为:
  10. # 原来为:http://updates.jenkins-ci.org/update-center.json
  11. https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  12. 6. 进入${ip}:8080,如果一直卡在等待页面,提示:显示正在启动,请稍后...。原因是有一个connectionCheckUrl指向了google的网址,由于环境原因,导致一直无法访问,导致一直等待
  13. 7. 解决方法:修改/srv/jenkins/updates/default.json,修改为:
  14. # 原来为:http://www.google.com/
  15. "connectionCheckUrl":"https://www.baidu.com/"
  16. 8. 如果没有发现updates文件夹,需要先进入jenkins的等待页面,稍等片刻。updates文件夹会出现
  17. 9. 至此,Jenkins安装完成,重启jenkins
  18. $ sudo docker restart jenkins
  19. 10. 更新设置开机启动、失败自动重启:
  20. $ sudo docker update --restart=always ${CONTAINER ID}
  21. 11. 进入Jenkins中,发现下载插件时会失败,解决方案如下:
  22. 11.1 安装nginx,参考:安装Nginx
  23. 11.2 添加host映射:
  24. $ sudo echo "127.0.0.1 updates.jenkins-ci.org" >> /etc/hosts
  25. 11.3 添加nginx配置:
  26. $ sudo vi /srv/nginx/conf/conf.d/jenkins.conf
  27. 11.4 添加以下内容:
  28. server {
  29. listen 80;
  30. server_name localhost;
  31. rewrite ^/download/plugins/(.*)$ https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/$1? last;
  32. location /download/plugins
  33. {
  34. proxy_next_upstream http_502 http_504 error timeout invalid_header;
  35. proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
  36. proxy_set_header X-Real-IP $remote_addr;
  37. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  38. rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
  39. proxy_pass https://mirrors.tuna.tsinghua.edu.cn;
  40. }
  41. # deny access to .htaccess files, if Apache's document root
  42. # concurs with nginx's one
  43. #
  44. #location ~ /\.ht {
  45. # deny all;
  46. #}
  47. }
  48. 14. 再次下载插件,就不会失败,如有其他报错,可参考类似的方法,把地址映射到https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins
  49. 15. 完成Jenkins安装及配置

安装Gitlab

  1. 1. 拉取镜像
  2. $ sudo docker pull gitlab/gitlab-ee
  3. 2. 运行镜像
  4. $ 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
  5. 3. 如果进入首页,报错502,可能是内存不足导致,gitlab要求内存大于2G,可通过虚拟内存解决,但会很卡,下面给出设置虚拟内存命令:
  6. $ 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的更多相关文章

  1. Docker 安装 mongoDB(五)

    Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...

  2. Linux平台安装MongoDB及使用Docker安装MongoDB

    一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...

  3. docker 安装完mysql 后客户端无法访问

    1.在虚拟机的centos 中安装 docker 的mysql 镜像. docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12 ...

  4. Docker01 centos系统安装、centos安装docker、docker安装mongoDB

    1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...

  5. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

  6. yum 安装mongodb mysql

    // 云环境下更新包 (center os)yum update (多更有益) 修改yum包管理配置:vi /etc/yum.repos.d/mongodb-org-3.4.repo // 会自动新建 ...

  7. mac系统下docker安装配置mysql详细步骤

    上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...

  8. docker安装mongodb和redis

    一.安装mongodb docker pull mongo docker run -p 27017:27017 -d --name mongodb01 mongo docker run -p 2701 ...

  9. Docker安装配置mysql

    Docker安装mysql踩坑日记 拉取镜像 sudo docker pull mysql:5.7 运行镜像 docker run -p 3306:3306 --name mysql -v /myda ...

随机推荐

  1. Mac 的命令行配置字体颜色

    1.在mac命令行终端输入: ls -al  查看所有隐藏文件,找到.bash_profile vi .bash_profile  编辑文件,贴入以下内容并保存 source .bash_profil ...

  2. python3笔记-列表

    列表去重的两种方式: # 创建列表放数据 a =[1,2,1,4,2] b=[1,3,4,3,1,3] d=[] for i in a: if i not in d: d.append(i) prin ...

  3. Photogrammetry and Game

    https://skulltheatre.wordpress.com/2013/02/11/photogrammetry-in-video-games-frequently-asked-questio ...

  4. Monkey and Banana(dp,求最长的下降子序列)

    A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a bana ...

  5. Agumaster添加股票日交易爬虫画面

  6. iTextSharp生成PDF文件

    这是一篇简单的教程,所以只涉及一些iTextSharp生成pdf的简单应用,详细教程请搜索iTextSharp进入官网看官方文档(英文版). iTextSharp官方文档:https://itextp ...

  7. 鼠标移到图片上图片放大【css3实例】

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. FFmpeg开发笔记(三):ffmpeg介绍、windows编译以及开发环境搭建

    前言   本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8.   FFmpeg简介   FFmpeg是领先的多媒体框架,能够解码 ...

  9. 一起来读官方文档-----SpringIOC(03)

    1.4.依存关系 典型的企业应用程序不坑你只包含单个对象或单个bean.即使是最简单的应用程序,也有一些对象可以协同工作,以呈现最终用户视为一致的应用程序.下一部分将说明如何从定义多个独立的Bean定 ...

  10. Appium之常用API

    Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...