美文网首页面试题开发辅助技术学习专题
docker安装nginx,redis,jenkins,gitl

docker安装nginx,redis,jenkins,gitl

作者: zhuyuansj | 来源:发表于2020-03-07 12:43 被阅读0次

    之前公司的部署都是运维在弄,过年在家自己也动手操作了下,学习了一下,这里做个总结,docker安装软件的操作,其实是一个套路。
    总结了以下的常用命令

    docker  run java 直接进行下载并安装
    docker pull java 仅仅下载到镜像
    docker images 查看镜像
    docker search java 搜索镜像
    docker rmi id(从docker images中查找)删除指定镜像
    Docker rm 容器id   删除容器id
    docker pull 下载镜像
    docker run 下载并安装镜像
    docker ps 查看有哪些镜像正在运行
    docker inspect 容器id  查看容器信息
    systemctl restart docker  重启docker(如果启动不了docker可以先重启)
    docker build –t 镜像名称:标签 Dockerfile的相对位置  打成docker的镜像文件
    docker info查看docker相关信息
    docker inspect 容器ID | grep IPAddress   查看docker的ip地址
    docker stop 容器ID  停止某个容器运行
    docker exec -it 容器id bash  进入docker
    //关闭防火墙
    systemctl stop firewalld.service
    //禁用
    systemctl disable firewalld.service
    docker exec -it  容器id /bin/bash 进入容器
    docker exec -it 容器name  /bin/bash  进入容器
    docker rm $(sudo docker ps -a -q) 删除所有未运行的容器
    docker search elasticsearch搜索镜像文件
    docker run 创建并启动一个容器,在run后面加上-d参数,就是后台启动不加-d就是前台启动
    docker ps -a 查看已经创建的容器
    docker ps -s查看已经启动的容器
    docker start con_name 启动容器名为con_name的容器
    docker stop con_name 停止容器名为con_name的容器
    docker rm con_name 删除容器名为con_name的容器
    docker rename old_name new_name 重命名一个容器
    docker lgos --tail="10" 容器名称查询容器日志信息
    free -m 查看内存使用容量
    docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt
    Testtomcat是容器名称,test.js是容器的路径,/opt是要复制到宿主机上的路径,容器复制到宿主机
    docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js    /opt/test.js是宿主机上的文件,/usr/local/tomcat/webapps/test/js是容器中的路径,testtomcat是容器名称 宿主机拷贝到容器
    https://www.cnblogs.com/areyouready/p/8973495.html
    [Docker Hub](https://hub.docker.com/)官网https://hub.docker.com/search?q=java&type=image
    

    一.docker的安装

    Docker 要求 CentOS 系统的内核版本在 3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。我这里用的是centos7, centos6已经不支持docker了,内核版本只有2.6

    1、通过 uname -r 命令 查看你当前的内核版本
    uname -r
    2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
    yum -y update    如果报错可以先yum clean all然后再yum –y update
    3、卸载旧版本(如果安装过旧版本的话)
    yum remove docker docker-common docker-selinux docker-engine
    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    yum install -y yum-utils device-mapper-persistent-data lvm2
    5、设置yum源
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    6、可以查看所有仓库中所有docker版本,并选择特定版本安装
    yum list docker-ce --showduplicates | sort -r
    7、安装docker
    sudo yum install -y docker-ce     #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
    8、启动并加入开机启动
    systemctl start docker
    systemctl enable docker
    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
    docker version
    

    设置阿里云加速镜像的方法
    详细参考: https://cr.console.aliyun.com/cn-hangzhou/mirrors

    image.png

    Nginx安装

    1.下载Nginx镜像文件
    docker pull nginx
    docker images
    2.创建挂载目录
    mkdir -p /data/nginx/{conf,conf.d,html,logs}
    3.编写Nginx配置文件
    详细参考资料
    4.启动容器
    docker run -dit --restart unless-stopped  --name mynginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
    docker run -dit --restart unless-stopped redis 加上这个就是关机后也会开启 -dit是镜像名
    6.查看容器
    docker ps
    

    MySQL安装

    1.查询mysql版本
    docker search mysql
    2.下载MySQL5.7版本
    docker pull mysql:5.7  (这里选择的是第一个mysql镜像, :5.7选择的5.7版本)
    3.等待下载完成、创建MySQL容器
    docker run -dit --restart unless-stopped --name mysql3308 -e MYSQL_ROOT_PASSWORD=root -p 3308:3306 mysql:5.7(-dit --restart unless-stopped是开机自启动)开机自启docker
    创建容器名称为mysql3308,密码为root
    5.进入到容器
    docker exec -it mysql3308 bash
    6.mysql连接
    mysql -u root -p
    

    Redis安装

    1.查询redis版本
    docker search redis
    2.下载redis版本
    docker pull redis 
    在宿主机新建两个目录用来挂载
    mkdir /root/docker/redis/conf  /root/docker/redis/data
    3. 等待下载完成、创建MySQL容器
    docker run -d --restart unless-stopped --privileged=true--name redis6379 -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /root/docker/redis/data:/data  -p 6379:6379 redis --requirepass "123456"
    -d后台启动,-p映射端口,-itd --name设置容器名称,--requirepass设置密码
    4.进入到容器
    docker exec -it redis6379 /bin/bash
    参考文章
    https://www.cnblogs.com/tianhuiht/p/11130455.html
     --privileged=true -> 提升容器内权限 
    -v /root/docker/redis/conf:/etc/redis/redis.conf -> 映射配置文件
    -v /root/docker/redis/data:/data -> 映射数据目录 --appendonly yes -> 开启数据持久化
    

    基于Docker部署GitLab环境搭建

    建议虚拟机内存2G以上,我用阿里云虚拟机(双核4G,一个gitlab一个marven私服,一个jenkins就起不来了,后来换成vwmare给到8G基本保持速度很快)
    建议虚拟机内存2G以上
    1.下载镜像文件
    docker pull beginor/gitlab-ce:11.0.1-ce.0
    注意:一定要配置阿里云的加速镜像
    2.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
    mkdir -p /mnt/gitlab/etc
    mkdir -p /mnt/gitlab/log
    mkdir -p /mnt/gitlab/data
    3.运行GitLab容器
    docker run \
        --detach \
        --publish 8443:443 \
        --publish 8090:8090 \
        --name gitlab \
        --restart unless-stopped \
        -v /mnt/gitlab/etc:/etc/gitlab \
        -v /mnt/gitlab/log:/var/log/gitlab \
        -v /mnt/gitlab/data:/var/opt/gitlab \
        beginor/gitlab-ce:11.0.1-ce.0 
    停止docker容器,并且删除
    Docker stop 容器id
    Docker rm 容器id
    systemctl stop firewalld
    4.修改/mnt/gitlab/etc/gitlab.rb
    把external_url改成部署机器的域名或者IP地址
    vi /mnt/gitlab/etc/gitlab.rb
    external_url 'http://127.0.0.1:8090'
    4.修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
    vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
    找到关键字 * ## Web server settings * 
    将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
    在通过docker exec -it gitlab /bin/bash进入到gitlab容器,
    修改vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml,也改成8090(然后在docker stop gitlab,docker rm gitlab,运行上面第三步启动后立刻进入容器在gitlab还没有完全启动的时候修改这个值,就不会导致容器的这个值覆盖宿主机上了。) 
    
    image.png

    maven nexus私服的原理

    基于Docker搭建Maven私服
    1.下载一个nexus3的镜像
    docker pull sonatype/nexus3
    2.将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
    docker volume create --name nexus-data
    docker run --restart unless-stopped -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3
    docker volume inspect nexus-data 查看存在宿主机上的位置
    关闭防火墙,访问
    Maven私服启动容器稍微比较慢,等待1分钟即可。
    默认登陆账号 admin admin123

    使用Jenkins与Git自动化部署原理

    1.使用docker 安装jenkins
    docker run --restart unless-stopped --name myjenkins -p 8080:8080 -p 7070:7070 -d -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
    docker exec -it myjenkins /bin/bash 进入jenkins容器
    cat /var/jenkins_home/secrets/initialAdminPassword 查看密码
    卡白屏的原因需要翻墙或者换成<u>www.baidu.com</u>
    vi /var/jenkins_home/updates/default.json
    Jenkins全局工具配置
    进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址

    安装Jenkins对应Maven插件

    找到 “系统管理“ - “安装插件(插件管理)” ,点击 “可选插件”,找到如下maven插件的版本
    插件名称 Maven Integration

    1. 配置任务git账号密码 3.项目打包
      clean install
      第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包

    相关文章

      网友评论

        本文标题:docker安装nginx,redis,jenkins,gitl

        本文链接:https://www.haomeiwen.com/subject/gubqdhtx.html