专栏首页编程软文docker安装nginx,gitlab,maven私服,mysql

docker安装nginx,gitlab,maven私服,mysql

之前公司的部署都是运维在弄,过年在家自己也动手操作了下,学习了一下,这里做个总结,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的安装

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:80 \
    --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'
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 run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3 docker run --restart unless-stopped -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3 关闭防火墙,访问 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包

本文分享自微信公众号 - java部落(zhuyuansj),作者:zhuyuansj

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境!!

    作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了...

    冰河
  • Gitlab CI 搭建持续集成环境实现Docker自动化部署使用Harbor镜像仓库

    本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitlab CI 快速构建持续集成环境以及使用Docker实现自动化部署,主要介绍了 Gitlab CI 的...

    小东啊
  • Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

    目录 Nexus OSS 3 介绍 环境、软件准备 Nexus OSS 3 服务搭建 Git LFS 仓库配置使用 Docker 私有仓库配置使用 1、Nexu...

    哎_小羊
  • TKE操作笔记01

    腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。...

    聂伟星
  • Kubernetes 基于容器云构建devops平台

    本文以Kubernetes为基础,为基于java语言研发团队提供一套完整的devops解决方案。在此方案中,开发人员基于eclipse集成开发环境进行代码;开发...

    莲花海
  • 还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲!

    如果你用Gitlab作为Git仓库的话,使用它的CI/CD功能来实现自动化部署确实很不错!安装一个轻量级gitlab-runner,编写简单的.gitlab-c...

    macrozheng
  • 记录一次docker+jenkins+gitlab搭建内网开发环境

    文本主要的内容是,利用Jenkins+gitlab+NGINX+MySQL+docker搭建一套公司内部级别的开发、测试系统。整个系统的流程图如下。

    A梦多啦A
  • TKE标准化 - 通过Dockerfile制作标准化Docker基础镜像和业务镜像(一)

    Gitlab Dockerfile文件会引用腾讯云镜像仓库中的Docker基础镜像,将源代码添加至Docker基础镜像中,打包成Docker业务镜像。部署是基于...

    亮哥说TKE
  • Springcloud +Gitlab+ Rancher2.0+Kubernetes微服务持续集成

    用户4044670
  • 「走进k8s」Docke仓库理解和搭建(四)

    PS:建议在拉取镜像的时候不要使用lastest,docker默认最后一个版本都是lastest,最好使用确定的版本方便使用些。这里肯定有老铁问,这个仓库没界面...

    IT架构圈
  • 基于Docker搭建Gitlab代码存储

    关于Docker搭建Gitlab,在19年时就已经在博客发过文章了,今天重新回顾一下。

    niceyoo
  • TKE操作指南 - 制作Nginx和Php Docker基础镜像(三)

    1.Docker基础镜像:提供基础应用型的Docker软件服务(例如:nginx,php,jdk等),所以dockerhub镜像,公有镜像,自定义私有镜像都可以...

    亮哥说TKE
  • 『互联网架构』软件架构-jenkins搭建和 maven gitlab自动化部署流程(上)(五)

    几年前没用过jenkins的时候,每次都需要用eclipse打个war包,然后小心翼翼的上传到服务器,给服务器原有的war包改个名字,mv到bak目录中,停止服...

    IT架构圈
  • 用GitLab搭建自己的私有GitHub

    Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码...

    知忆
  • 《CI持续集成篇:》《CD(持续部署,持续交付),Jenkins》

    经常的将代码发布并部署到类生产环境中测试,快速的检索问题所在,防止代码偏离,采用GitlabRunner来作为CI服务器。 1.搭建GitlabRunne...

  • Gitlab安装使用及汉化配置

    一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设...

    shaonbean
  • Docker安装Gitlab和Gitlab-Runner并实现项目的CICD

    介绍如何在Linux系统使用Docker安装Gitlab、Gitlab-Runner并实现项目的CICD

    薛定喵君
  • 微服务[学成在线] day20:项目部署与持续集成(DevOps)

    DevOps 是 Development 和 Operations 两个词的缩写,引用百度百科的定义:

    LCyee
  • Jinkens+gitlab针对k8s集群实现CI/CD

    Jenkins采用war包的方式部署,需要用到tomcat环境,自行参考博文,进行部署;

    小手冰凉

扫码关注云+社区

领取腾讯云代金券