专栏首页编程软文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 条评论
登录 后参与评论

相关文章

  • redis的使用和安装,redis基础和高级部分

    编程软文
  • redis是如何存储对象和集合的

    编程软文
  • UI设计师axure工具入门指南

    编程软文
  • docker入门总结,从使用的角度谈起

    大凡先进技术的产生,都不是凭空捏造的,更不是花花瓶子作秀博眼球的。或是要解决某些需求,某些痛点。有其存在的道理和价值。

    特立独行的猫a
  • 开发者必备Docker命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows机器上。使用D...

    macrozheng
  • docker使用学习笔记

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • 老有人问你什么是Docker?把这篇干货文章甩给他!

    假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己从头到尾搭建了一套环境开始写代码,写完代码后程序员要把代码交给测试同学测试,这...

    KevinYan
  • Centos7上安装docker 转

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

    双面人
  • Docker安装与简单使用

    至于Docker是什么,和他的一些功能简介,请自行百度. 如果还是不了解,你就当他是一个可以给你渗透的就行了 安装Docker: 我用的是ubuntu...

    用户1467662
  • Docker 的简单使用

    指定容器名称、挂载本地目录、添加端口等(将本机 E:\php\Code 目录 挂载带容器中,并对应 80 端口访问)

    hedeqiang

扫码关注云+社区

领取腾讯云代金券