SpringBoot与Docker基本命令操作,安装tomcat为例

核心概念

  1.Docker主机(Host):安装了Docker程序的机器
  2.Docker客户端(Client):连接Docker主机进行操作
  3.Docker仓库(Registry):用来保存各种打包好的软件镜像
  4.Docker镜像(Images):软件打包好的镜像,放在Docker仓库中
  5.Docker容器(Container):镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用

使用Docker的步骤
  1.安装Docker
  2.去Docker仓库找需要的软件的镜像
  3.使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
  4.对容器的启动停止
上边的内容有点难嚼,概念这个东西刚开始不知道无所谓,也不用记,多用用就知道啥是啥了。在开始之前,先搞环境。

Docker环境

  1.公司用的centos7,所以我也把centos7装在了我虚拟机上
  2.为了方便,我还是用我之前用的Xshell连接虚拟机的centos7
  3.部分截图

Docker安装

1.先检查内核,必须在3.10以上,黑白屏盲打:
uname -r
2.安装docker,有提示直接输入y确认即可
yum install docker
3.出现以下神秘代码说明安装完成
Complete!
4.启动docker,centos7的写法:
systemctl start docker
5.自己验证一下,出现版本号说明ok
docker -v
6.开机启动docker设置:
systemctl enable docker
7.停止docker:
systemctl stop docker

ok,真牛批,恭喜学会了开关docker,果然一边写博客一遍操作挺耗时间

Docker镜像操作

  镜像就是。。。比如说要安装mysql,首先得有mysql安装包吧,镜像就是这么个意思。

  1.安装之前,先下载安装包呗,通过docker search mysql命令查找一波安装包,这其实是去docker hub去查安装包了,咱也能自己稍微百度下docker hub去官网看下

[root@7rx0h6qoxgffx6a ~]# docker search mysql
INDEX       NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/mysql                             MySQL is a widely used, open-source relati...   9942      [OK]       
docker.io   docker.io/mariadb                           MariaDB is a community-developed fork of M...   3636      [OK]       
docker.io   docker.io/mysql/mysql-server                Optimized MySQL Server Docker images. Crea...   724                  [OK]
docker.io   docker.io/percona                           Percona Server is a fork of the MySQL rela...   508       [OK]       
docker.io   docker.io/centos/mysql-57-centos7           MySQL 5.7 SQL database server                   83                   
docker.io   docker.io/mysql/mysql-cluster               Experimental MySQL Cluster Docker images. ...   75                   
docker.io   docker.io/centurylink/mysql                 Image containing mysql. Optimized to be li...   61                   [OK]
docker.io   docker.io/bitnami/mysql                     Bitnami MySQL Docker Image                      44                   [OK]
docker.io   docker.io/deitch/mysql-backup               REPLACED! Please use http://hub.docker.com...   41                   [OK]
docker.io   docker.io/tutum/mysql                       Base docker image to run a MySQL database ...   35                   
docker.io   docker.io/prom/mysqld-exporter                                                              31                   [OK]
docker.io   docker.io/databack/mysql-backup             Back up mysql databases to... anywhere!         30                   
docker.io   docker.io/schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic back...   30                   [OK]
docker.io   docker.io/linuxserver/mysql                 A Mysql container, brought to you by Linux...   25                   
docker.io   docker.io/centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                   
docker.io   docker.io/circleci/mysql                    MySQL is a widely used, open-source relati...   19                   
docker.io   docker.io/mysql/mysql-router                MySQL Router provides transparent routing ...   16                   
docker.io   docker.io/arey/mysql-client                 Run a MySQL client from a docker container      14                   [OK]
docker.io   docker.io/fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron t...   8                    [OK]
docker.io   docker.io/openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 ima...   6                    
docker.io   docker.io/devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offi...   3                    
docker.io   docker.io/ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
docker.io   docker.io/jelastic/mysql                    An image of the MySQL database server main...   1                    
docker.io   docker.io/widdpim/mysql-client              Dockerized MySQL Client (5.7) including Cu...   1                    [OK]
docker.io   docker.io/monasca/mysql-init                A minimal decoupled init container for mysql    0                    
[root@7rx0h6qoxgffx6a ~]# 

  额,我网慢的很,就不去官网了。说一下上边的title是啥,跳过前三个,第四列一串数字说的是有多少人关注,第五列ok代表是官方的,第六列ok是说是否自动配置了的,我们搞官方版的话是需要我们自己配置的

  2.拉取镜像,大白话:下载安装包,使用docker pull命令,比如我们就下载官方mysql

[root@7rx0h6qoxgffx6a ~]# docker pull mysql
Using default tag: latest

  注意命令回车后第一行,说的是使用latest默认标签,也就是下载最新版,那想要下载自己想要的版本,后边要带自定义标签。这里咋看版本号?还是得去官网

在这里插入图片描述

[root@7rx0h6qoxgffx6a ~]# docker pull mysql:5.5

  看下安装好了没,安装好了先别慌,使用docker images查看镜像,就是查看安装包

REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat                  latest              2eb5a120304e        3 months ago        647 MB
docker.io/rethinkdb               latest              b1efb5d6e94d        3 months ago        131 MB
docker.io/mysql                   latest              be0dbf01a0f3        3 months ago        541 MB

  每个镜像都会有自己唯一的镜像ID,就是IMAGE ID这一列

  安装好了是吧,删了吧:docker rmi +镜像ID

[root@7rx0h6qoxgffx6a ~]# docker rmi 2eb5a120304e

Docker容器操作

  现在有了安装包,那就是安装呗。拿tomcat为例。根据tomcat的镜像启动容器,(根据tomcat的安装包安装,不过在docker里,可以根据一个镜像安装n个实例)docker run,–name tom意思是取别名,随便起,-d是后台运行,latest还记得吧,是标签,当然,这启动了也是访问不了tomcat的,下边再提,先把容器操作搞一波。

[root@7rx0h6qoxgffx6a ~]# docker run --name tom -d tomcat:latest
查看运行中的容器:
docker ps
停止运行中的容器:
docker stop 容器ID
查看所有容器:
docker ps -a
启动容器
docker start 容器ID
删除一个容器:
docker rm 容器ID

  现在说一下咋的才能在我们本机访问到docker机的tomcat

docker run -d -p 8888:8080 tomcat:latest

  解释:-p就是做端口映射,前边的8888是docker的端口,后边的8080是tomcat的端口,做个关联映射。再说细点,我们在本机访问docker机的tomcat,本来是要找8080的这个端口,可docker把tomcat的8080映射到docker机的8888了,所以我们是通过8888端口访问到tomcat的8080的。
  还有,访问失败的,请先瞅瞅虚拟机的防火墙,要么开放端口,要么关掉防火墙再试试。

  就到这儿了,提醒:此篇只做入门,完后有空再写别的系列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值