首页 > 数据库 >【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境

【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境

时间:2022-12-24 22:13:11浏览次数:62  
标签:容器 Tomcat Jdk Linux 镜像 Docker docker 端口号

@[TOC](Docker安装 Jdk、Mysql、Nginx、Redis、Tomcat)


推荐个人Docker文章,讲的非常详细

【玩转Docker容器 1】Dockerd的详解及安装
【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
【玩转Docker容器 3】基于Docker部署SpringBoot项目
【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解
【玩转Docker容器 6】基于Docker构建GitLab管理代码
【玩转Docker容器 7】基于Docker安装Jenkins实现自动化构建、部署、测试、监控项目

使用Docker安装环境有什么好处

1.如果配置镜像加速器,Docker安装环境非常的快 2.mysql、tomcat、nginx、jdk、redis、MQ、Git Lab、Node等等等等都是秒安装级别 3.详细的配置就不行了,这些就需要自己去弄,但是可以配置好了自己打包成镜像,下次接着使用


1.配置镜像加速器

在国内,阿里云、163都提供了docker仓库,但是阿里云还提供了加速功能。所以,我们选用阿里云的加速。163的仓库地址:c.163.com/hub#/m/home…

不配置镜像加速器的话,网络非常慢,最快只有100-200k的速度 配置阿里云的加速器,速度可达几十M以上,所以有什么理由不配置

1.打开阿里云网站

www.aliyun.com/ 在这里插入图片描述

2.进行登录,找到容器镜像控制台

如果没有账号就先注册个账号,登录成功后右上角找到控制台, 控制台页面找到左上角的产品与服务-->搜索容器-->找到下面的容器服务 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

有可能会出现,在下图中选择”前往RAM进行授权”,之后在弹出界面中往下拉点击”同意授权”。 如果没有

找到左下角镜像,选择右上角容器镜像控制台 在这里插入图片描述

再到左下角找到镜像加速器,在点击CentOS. 在这里插入图片描述

3.配置Linux镜像加速器

在上图中指出了使用加载器的方法。我们把下面的代码全选到Xshell工具中进行回车。 注意,这里分为四条命令, 在这里插入图片描述

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jrvh6o0l.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码

在这里插入图片描述


2.使用Docker安装Jdk8

1.搜索镜像
docker search java
复制代码

docker search 命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker镜像软件的地方,类似maven的中央仓库)中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。 在这里插入图片描述 linux中查询出来的其实就是和Docker Hub官网去查询显示出来的一样, Docker Hub 官网:hub.docker.com/ 在这里插入图片描述

2.下载镜像
docker pull java:8
复制代码

此命令会从Docker Registry上下载镜像,docker pull java:8是指定了版本号下载jdk,如果不加:8的话,默认就是下载最新版 在这里插入图片描述 此时就可以列出容器 查看jdk8镜像是否下载成功了

docker images
复制代码

在这里插入图片描述

3.启动容器
docker run -d -it --name java java:8
#其中,–name后面的“java”是为容器指定了一个别名,而最后的那个“java”指的是下载镜像的名称。
复制代码

在这里插入图片描述 这就是启动成功了,输入docker ps看看 (docker ps,查看当前运行容器) (docker ps -a,查看所有容器,包括不在运行的容器)

docker ps
复制代码

在这里插入图片描述 发现我们有个名称为java的容器正在运行,到这就已经完成了。 成功


3.使用Docker安装Mysql

1.查找Mysql
docker search mysql
复制代码

在这里插入图片描述

2.下载MySQL5.7版本镜像
docker pull mysql:5.7
复制代码

在这里插入图片描述

3.创建mysql容器

这里的启动mysql,还映射了Linux与Docker容器的端口号,并且指定mysql root用户登录密码,

启动mysql
docker run -p 3303:3306 --name mysql3303 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
复制代码

在这里插入图片描述 为什么要映射端口号呢? 因为Docker容器和Linux系统的端口一个在内一个在外,所以要映射到外部Linux系统的端口上,如果不映射就只能在容器中使用

-p 3303:3306 第一个端口号为Linux的端口号,第二个端口号为Docker容器内部的端口号


查看一下Docker容器的状态,发现mysql容器已经打开成功了。 在这里插入图片描述

4.使用SQLyou连接Mysql

1.先找到Linux的lp地址,如果知道IP地址就跳过

如果是虚拟机先关闭防火墙
systemctl stop firewalld

输入ifconfig查看IP地址
ifconfig
复制代码

在这里插入图片描述

如果是阿里云服务器,找到自己的服务器公共IP地址,并且打开开放3303端口号 具体步骤访问:阿里云服务器配置外网访问,打开3303端口 在这里插入图片描述

2.测试连接,输入ip地址,端口号是3303测试一下 在这里插入图片描述 成功


4.使用Docker安装Nginx

1.下载Nginx镜像,启动Nginx容器

话不多少,安装Nginx一个命令解决

docker run -d -p 81:80 nginx
复制代码

如果要指定版本的话输入:docker run -d -p 81:80 nginx:版本号 即可 在这里插入图片描述

为什么这一个命令就可以实现Nginx下载至安装结束呢? 这条命令不是启动Nginx的吗,其实是这样的,启动Nginx,会自动去镜像文件找,结果找不到,就去联网Docker Hub里面下载,下载好了就自动的来部署Nginx,和Maven有点像,本地找不到jar包就去联网下载到本地后在来使用。


为什么要映射端口号呢? 因为Docker容器和Linux系统的端口一个在内一个在外,所以要映射到外部Linux系统的端口上,如果不映射就只能在容器中使用

-p 81:80是映射配置端口号的意思,意思是外部Linux映射到Docker容器的端口 第一个端口号为Linux的端口号,第二个端口号为Docker容器内部的端口号 完成,访问看看


2.外网访问Nginx

先找到Linux的lp地址,如果知道IP地址就跳过

如果是虚拟机先关闭防火墙
systemctl stop firewalld

输入ifconfig查看IP地址
ifconfig
复制代码

在这里插入图片描述

如果是阿里云服务器,找到自己的服务器公共IP地址,并且打开开放81端口号 具体步骤访问:阿里云服务器配置外网访问,打开81端口 在这里插入图片描述 访问 在这里插入图片描述

成功!


5.使用Docker安装Tomcat

1.下载Tomcat镜像,启动Tomcat容器

一个命令解决

docker run -d -p 8080:8080 --name mytomcat tomcat:9
复制代码

如果要指定版本的话输入:docker run -d -p 8080 :8080 --name mytomcat tomcat:版本号 即可 在这里插入图片描述 为什么这一个命令就可以实现Tomcat下载至安装结束呢? 这条命令不是启动Tomcat的吗,其实是这样的,启动Tomcat,会自动去镜像文件找,结果找不到,就去联网Docker Hub里面下载,下载好了就自动的来部署Tomcat,和Maven有点像,本地找不到jar包就去联网下载到本地后在来使用。


为什么要映射端口号呢? 因为Docker容器和Linux系统的端口一个在内一个在外,所以要映射到外部Linux系统的端口上,如果不映射就只能在容器中使用

-p 8081:8080 是映射配置端口号的意思,意思是外部Linux映射到Docker容器的端口 第一个端口号为Linux的端口号,第二个端口号为Docker容器内部的端口号 完成,访问看看


2.外网访问Tomcat

先找到Linux的lp地址,如果知道IP地址就跳过

如果是虚拟机先关闭防火墙
systemctl stop firewalld

输入ifconfig查看IP地址
ifconfig
复制代码

在这里插入图片描述

如果是阿里云服务器,找到自己的服务器公共IP地址,并且打开开放8080端口号 具体步骤访问:阿里云服务器配置外网访问,打开8080端口 在这里插入图片描述 访问 在这里插入图片描述

成功!


6.使用Docker安装Redis

1.下载Redis镜像,启动Redis容器

一个命令解决

docker run -d -p 16379:6379 --name redis redis:3
复制代码

如果要指定版本的话输入:docker run -d -p 16379:6379 --name redis redis:版本号 即可 在这里插入图片描述 为什么这一个命令就可以实现Redis下载至安装结束呢? 这条命令不是启动Redis的吗,其实是这样的,启动Redis,会自动去镜像文件找,结果找不到,就去联网Docker Hub里面下载,下载好了就自动的来部署Redis,和Maven有点像,本地找不到jar包就去联网下载到本地后在来使用。


为什么要映射端口号呢? 因为Docker容器和Linux系统的端口一个在内一个在外,所以要映射到外部Linux系统的端口上,如果不映射就只能在容器中使用

-p 16379:6379 是映射配置端口号的意思,意思是外部Linux映射到Docker容器的端口 第一个端口号为Linux的端口号,第二个端口号为Docker容器内部的端口号 完成,访问看看


2.使用RedisDesktopManager连接Redis

先找到Linux的lp地址,如果知道IP地址就跳过

如果是虚拟机先关闭防火墙
systemctl stop firewalld

输入ifconfig查看IP地址
ifconfig
复制代码

在这里插入图片描述

如果是阿里云服务器,找到自己的服务器公共IP地址,并且打开开放16379端口号 具体步骤访问:阿里云服务器配置外网访问,打开16379端口 在这里插入图片描述 连接

在这里插入图片描述 成功!


如果中途报错了怎么办

1.使用Docker自带的logs命令查看容器运行日志
先查看有哪些容器正在运行
docker ps
复制代码

在这里插入图片描述

根据容器id查看运行日志
例如我查看Tomcat的日志

输入:docker logs 容器id
复制代码

在这里插入图片描述

2.推荐解决Docker Bug网站,有问必答

点击进入

来源:https://juejin.cn/post/7006343419886845982

标签:容器,Tomcat,Jdk,Linux,镜像,Docker,docker,端口号
From: https://www.cnblogs.com/konglxblog/p/17003454.html

相关文章

  • 【玩转Docker容器 3】基于Docker部署SpringBoot项目
    @TOC推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Dockerd的详解及安装【玩转Docker容器2】基于Docker一分钟搭建完Jdk、Mysql、Nginx、Redis、Tomcat环......
  • 【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
    @TOC推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Dockerd的详解及安装【玩转Docker容器2】基于Docker一分钟搭建完Jdk、Mysql、Nginx、Redis、Tomcat环......
  • 使用Docker编译android10源码
    环境准备安装WSL2修改默认路径安装DockerDesktop,迁移docker到其他盘符,docker配置镜像加速。https://blog.csdn.net/qq_43430759/article/details/127604483dockerpu......
  • Docker镜像原理
    Docker中的镜像是由若干个文件系统叠加而成的。一个镜像可能是由多个系统组装而成的。Docker中有得镜像很大,有得镜像很小,比如tomcat镜像是500M,而tomcat的安装包只有70M,cen......
  • docker的常用命令列表
    容器生命周期管理run 创建一个新的容器并运行一个命令 语法:dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]  COMMAND:需要在容器内执行的命令start/stop/restart 启......
  • Docker和Kubernetes网络模型
    Docker网络模型Bridge模式(默认)Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡vethpair设备连接到这个......
  • centos docker国内镜像加速设置
    sudomkdir-p/etc/docker#2.编写配置文件sudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["http://hub-mirror.c.163.com","https://docker.mirr......
  • docker高级篇第三章-dockerfile案例之制作自己的centos镜像
    在上一篇文章中​​《Dockerfile介绍及常用保留指令》​​,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段。熟悉了这些之后,有没有想自己动手写一个Dockerfile呢?本......
  • Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重
    场景docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12837......
  • 46使用docker出现的问题与解决方法
    从docker仓库安装最新的centos,无法安装git解决方法如下:进入目录#1.cd/etc/yum.repos.d/修改文件内容#2.sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/Ce......