跟进互联网的浪潮有时候也挺难的,还没学完就出现新技术了……

今天来说说,如何使用docker吧~

docker的安装配置

  Docker是一个容器,我们怎么理解这个概念。我们做windows系统的时候会把各种软件装到一个系统中,然后存到一个镜像iso或者ghost中,给其他需要的人使用,这样十分便捷;而docker就相当于这个装载了各种软件的镜像容器iso或者ghost一样,这就是他在linux环境中的作用。

  那么,我们来看如何在linux环境中安装。

  首先,要有一个linux环境,我纠结了一下要不要来一个阿里云什么的,索性先自己搞一个虚拟机试一下吧。

  使用Oracle公司的开源免费小巧的Virtual Box,加载了一个CentOS,我们就在这个系统中安装docker。下边就是安装步骤了~:

    1.docker要求CentOS系统要在3.10版本以上,所以先使用如下命令来确认版本(下边的这些都是CentOS的常用命令)

uname -r
如果版本低于3.10,则使用下边的命令进行升级
yum update

    2.安装docker

yum install docker

    3.启动docker

systemctl start docker

    4.为了让系统启动的时候可以自动跟随启动docker,需要以下的开机启动命令

systemctl enable docker

    如上,我们就安装好了docker。其他命令自行谷歌或百度等等~,这里不多介绍。

软件镜像的安装

  容器OK了,我们要做的就是给容器中安装我们需要的镜像,比如mysql。

  这里先推一个网站,是docker的hub主站,用来寻找需要安装的软件,以及相关命令:https://hub.docker.com

    1.搜索需要安装的mysql,并安装

docker search mysql

    2.安装软件/拉取镜像(pull一个需要的镜像name,只需要输入/后边的即可),默认安装官方最新版

docker pull mysql     默认安装latest版本
docker pull mysql:5.5 安装指定版本的mysql

    3.查看拥有镜像

docker images

    4.删除镜像,通常删除选择镜像名字+版本号或者 IMAGE ID

docker rmi 0166bbb6bd994

    5.按照如上命令,我们下载一个tomcat,并且看一下如何运行起来(run是运行,-p是映射端口号,--name是起名,-d是后台运行,后边接镜像名:版本号)

docker run --name tomcat -d tomcat                       运行tomcat
docker run -p 8888:8080 --name tomcat_01 -d tomcat            默认运行唯一或latest版,将容器内的8888端口映射到8080端口(我们页面访问就使用8080端口)
docker run -p 8888:8080 --name tomcat_01 -d tomcat:5.5          运行5.5版本

    6.使用命令查看进程,包括运行中和运行过的

docker ps -a

    7.如果需要对该容器做其他操作,要先停止容器,比如:启动-停止-删除

docker start tomcat
docker stop tomcat
docker rm tomcat

    8.查看启动(通过ip:映射的端口),我们其实可以映射多个端口,然后每个端口都能访问这个页面,说明就是成功的了

    9.安装其他软件,也是为了后边我们方便使用,这里都一起拉取看看吧:mysql(数据库)、redis(缓存)、rabbitmq(消息中间件)、elasticsearch(全文检索)……

      这里做几个需要注意的地方,mysql的版本在安装连接的时候,如果出现这样的错误提示,该如何解决,来看:

    报错:plugin caching_sha2_password could not be loaded

docker exec -it deea955a5462 bash                               it后边接的是容器/镜像id
mysql -uroot -p                                          使用密码登录
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';        重置密码

如上,我们的docker就讲完了,就是这么简单,当然后边还有其他的问题,我们再说~。

SpringBoot日记——Docker的使用的更多相关文章

  1. SpringBoot 部署 docker 打包镜像

    SpringBoot 部署 docker 打包镜像 环境: 1.代码编写工具:IDEA 2.打包:maven 3.docker 4.linux 7.JDK1.8 8.Xshell 9.Xftp 第一步 ...

  2. springboot与docker整合

    一.springboot与docker整合 a.创建Dockerfile FROM java MAINTAINER "Wing"<1561815137@qq.com> ...

  3. 基于vue+springboot+docker网站搭建【七】制作后端spring-boot的docker镜像部署

    制作spring-boot的docker镜像并部署 一.下载后端项目:https://github.com/macrozheng/mall 二.修改mall-admin项目的配置文件 修改applic ...

  4. IDEA部署Spring-boot到Docker容器

    一.准备工作 idea安装Docker插件 centos7系统安装docker 二.打开docker远程端口 1. 编辑docker.service文件 vim /usr/lib/systemd/sy ...

  5. 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...

    原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...

  6. springboot~使用docker构建gradle项目

    这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运 ...

  7. springboot之docker启动参数传递

    这几天有网友问,如何在使用docker的情况下传递spring.profiles.active=test,也就是说springboot切换配置文件.以往我们直接通过java启动jar的时候,直接跟上- ...

  8. SpringBoot日记——ElasticSearch全文检索

    看到标题的那一串英文,对于新手来说一定比较陌生,而说起检索,应该都知道吧. 这个ElasticSearch目前我们的首选,他主要有可以提供快速的存储.搜索.分析海量数据的作用.他是一个分布式搜索服务, ...

  9. SpringBoot日记——MQ消息队列整合(一)

    除了之前讲到的缓存,我们还会用到消息队列来存储一些消息,为了提升系统的异步性能等等: 消息服务有两个概念需要知道:消息代理-message broker,目的地-destination.消息发送由代理 ...

随机推荐

  1. 初识java内存区域

    目录: 1.运行时数据区域 2.对象的创建 3.对象的内存布局 4.对象的访问定位 一.运行时数据区域 基本的java虚拟机运行时数据区如下图: 下面我们就来逐个认识这几个运行时的数据区域 1.程序计 ...

  2. Python3部分Print输出格式

    print("Hello World!") #直接打印字符串 print('Hello World!') #对于python,单引号也可以表示字符串 name = 'Tom' #自 ...

  3. JQUERY中find方法

    [jquery]find()方法和each()方法 find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: $("#id") ...

  4. Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block 解决办法

    昨晚更新了一下内核,今晚开机就无法进系统了...提示如下图: 解决方案:开机启动时按Esc,然后选择下面的旧版本的内核启动即可. (成功进入系统后,你可以选择改变开机默认选择的内核). uname - ...

  5. 【redis】redis的雪崩和穿透

    1.什么是缓存穿透 一般的缓存系统,都是按照key值去缓存查询,如果不存在对应的value,就应该去DB中查找 .这个时候,如果请求的并发量很大,就会对后端的DB系统造成很大的压力.这就叫做缓存穿透. ...

  6. 乘风破浪:LeetCode真题_032_Longest Valid Parentheses

    乘风破浪:LeetCode真题_032_Longest Valid Parentheses 一.前言 这也是非常有意思的一个题目,我们之前已经遇到过两个这种括号的题目了,基本上都要用到堆栈来解决,这次 ...

  7. November 06th, 2017 Week 45th Monday

    The education of a man is never completed until he dies. 一个人的学习之路,到死才结束. Being a life-long learning ...

  8. Git提交分支

    Git提交分支操作 1.git add 命令告诉 Git 开始对这些文件进行跟踪 git add . 2.然后提交 git commit -m'这是注释信息' 3.git pull命令用于从另一个存储 ...

  9. 028、HTML 标签1列表、图片、表格

    内容简单看一下理解就行了. HTML 是用来描述网页的一种语言.就是用来编写网页的语言 内容:换行.分割,标签属性,编码方式设置,字体标签,特殊符号,列表.图片.表格标签############### ...

  10. 页面元素固定在页面底部的纯css代码(兼容IE6)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...