0


docker安装nginx、mq、mysql中间件安装部署 并且提交保存还原;

docker安装

以目前主流的centos为例,docker可以直接使用yum命令直接安装;

#查询是否安装了docker
yum list installed |grep docker
#如果有 那么干掉他
yum remove docker....#查出来多少 干掉多少 不用给我面子;

使用yum命令进行安装

 yum install docker -y
 #嗯  没错 这就完事了 就一行命令 

启动docker

#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker

查看Docker版本检测是否安装成功

docker -v

在这里插入图片描述
查看daoker

#检查docker的运行状态
systemctl status docke
#或者
service docker status
#查看docker进程 (ps命令)ps-ef|grep docker

docker 安装nginx

#1、搜索镜像 search 建议大家去docker
#2、下载镜像 pull
docker pull nginx #如果不带版本号的话,那么直接下载最新的Nginx镜像
在这里插入图片描述
如果不指定版本号的话,那么会默认下载latest也就是最近、最新的nginx镜像

#docker images 查看本地镜像 [root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    605c77e624dd   11 days ago    141MB
hello-world   latest    feb5d9fea6a5   3 months ago   13.3kB
centos        latest    5d0da3dc9764   3 months ago   231MB

启动nginx服务、

#docker run -d --name nginx11 -p 3388:80 nginx# run就是运行的意思 #-d就是后台启动容器并返回容器id#--name 给这个容器起一个名字 叫做nginx11 # -p 指定外部端口给容器里80 (也可以理解把80端口映射为3388端口) 最后一个nginx就是容器的名字[root@localhost ~]# docker run -d --name nginx11 -p 3388:80 nginx
9f435eb63bed278a0bf6e0c0c5500834ac416342c6b2e42d0e304f9dfbb11cb9
#使用docker ps 查看一下启动中的镜像
docker ps

在这里插入图片描述
可以看到ports下面显示 0.0.0.0:3388->80/tcp, :::3388->80/tcp

就说明端口映射成功 并且nginx启动成功、

那么我们来输入虚拟机的IP加上3388端口号。

http://192.168.0.219:3388/
在这里插入图片描述
可以看到,和我们正常安装的nginx没有什么区别,无非就是端口号换了一下

这里注意一下,如果时阿里云ecs的话 记得把安全组开一下,都是泪。。。

#这里我们进入nginx的内部试一下 docker exec -it nginx11 /bin/bash#-it 等于 -i -t 的意思 其实是两个命令# -i 交互式启动# -t 给与一个伪端 (其实我就直接理解为后台交互式启动 你们随意)# nginx11就是容器的名字 这里也可以用容器的id代替 [root@localhost ~]# docker exec -it nginx11 /bin/bash
root@9f435eb63bed:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@9f435eb63bed:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@9f435eb63bed:/# cd /etc/nginx/
root@9f435eb63bed:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@9f435eb63bed:/etc/nginx##如果要修改配置文件的话 那么就直接改conf就可以了。#这里docker容器里面是没有vi 或者vim的 #apt-get update 先运行这个命令#apt-get install vim 然后安装vim    (apt-get 感觉和centos的yum差不多)

docker安装mq

docker pull rabbitmq:xxx
#xxx可以指定版本号、# 查看下镜像
docker images

根据下载的镜像创建和启动容器

docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9

说明:

  1. -d 后台运行容器;
  2. –name 指定容器名;
  3. -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
  4. -v 映射目录或文件;
  5. –hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
  6. -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

使用命令:docker ps 查看正在运行容器
在这里插入图片描述
可以使用浏览器打开web管理端:http://Server-IP:15672
在这里插入图片描述
jar包mq配置文件如下:

rabbitmq:
host: 127.0.0.1
password: admin
port: 5672
username: admin
virtual-host: my_vhost

docker安装mysql

一样的操作
下载mysql镜像 pull一下

docker pull mysql:8.0
#8.0是版本号 不加版本号默认最新

然后运行

docker run --restart=unless-stopped -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

进入mysql:

#进入容器
docker exec -it mysql /bin/bash
#进入mysql
mysql -u root -p
#输入密码
password:123456
#查询参数select version(), @@sql_mode;#取消group by;set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';#再次运行select version(), @@sql_mode;#可以看到已经没有group by 了;exit#退出

在这里插入图片描述
然后开个端口 navicat就可以直接连接了;

提交镜像

使用commit命令,把目前的tomcat这个容器提交成一个镜像

 docker commit -a="fushuai"-m="cp webapps app" 5df313c8fec1 tomcatfs:1.0
#-a 作者名#-m 镜像的描述#容器的ID#最后跟的是你这个镜像的名字加上版本号
docker commit -a="fushuai"-m="cp webapps app" 5df313c8fec1 tomcatfs:1.0

docker images看一下
在这里插入图片描述
那我们提交了这个镜像如何把它保存到本地,然后导入到另外一个服务器里面使用呢

#首先我们要把他导出到本地
docker save -o /home/ceshi/tomcatfs.tar tomcatfs:1.0
#这句命令就是把tomcatfs1.0版本 导出到/home/ceshi文件夹下面 叫做tomcatfs.tar (自定义命名哈)

在这里插入图片描述
可以看到,已经导出来了,那么我们再测试一下把系统的镜像删除掉,然后再把这个导入进去

[root@localhost ceshi]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
tomcatfs      1.0       5aef45d791b6   2 days ago     684MB
[root@localhost ceshi]# docker rmi 5ae
Untagged: tomcatfs:1.0
Deleted: sha256:5aef45d791b6506bb59d18bde82ae9c7ce2178691c4774ec03e081018ae71d10
Deleted: sha256:197a1023fb73ec63ec6b16c52008353ff37397c5605d7cd43302ad7513567bc1
[root@localhost ceshi]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE

看的到我们进镜像已经被删除了 然后我们用刚才导出的文件再给他导入回去。命令如下

[root@localhost ceshi]#  docker load < /home/ceshi/tomcatfs.tar
465ff1db877f: Loading layer   4.94MB/4.94MB
Loaded image: tomcatfs:1.0
[root@localhost ceshi]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
tomcatfs      1.0       5aef45d791b6   3 days ago     684MB

# < 后面跟的是导出文件的绝对路径哦 

这样就可以更改自己的镜像并且提交,然后保存到本地,等到下次用的时候就可以直接进行使用了,贼拉简单。

纯属笔记以免自己以后使用的时候忘记

标签: docker nginx mysql

本文转载自: https://blog.csdn.net/weixin_41253028/article/details/125103118
版权归原作者 F.S-Ning 所有, 如有侵权,请联系我们删除。

“docker安装nginx、mq、mysql中间件安装部署 并且提交保存还原;”的评论:

还没有评论