docker安装Java开发相关环境

docker安装Java开发环境

docker安装Java开发相关环境

官网:https://www.docker.com/

主要安装:

  • mysql:5.7.29
  • Redis
  • RabbitMQ
  • nginx

如果在获取镜像时,没有指定版本号,就是获取最新的版本。

镜像地址:https://hub.docker.com/

docker安装Java开发相关环境

1、安装docker

如果是安装docker desktop, 这里可以跳过。

有网络的情况。

yum -y install wget
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache

step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
Step 4: 开启Docker服务
sudo service docker start

配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <

2、安装MySQL

2.1、配置Mysql文件

1、先创建配置文件
vi /mydata/mysql/conf/my.cnf
2、添加配置信息
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
填写完要退出,先按【ESC】键,之后再到末尾按照需求执行退出命令
:wq

2.2、启动Mysql

1、获取镜像
docker pull mysql:5.7.29
2、运行镜像
docker run -p 3306:3306 --name mysql01 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always -d mysql:5.7.29
  • -v /mydata/mysql/data:
  • -e MYSQL_ROOT_PASSWORD=123456:设置root密码为123456。
  • –restart=always 开机自启

如何使用mysql里面的命令行?

#1、进入docker里面的mysql命令行
docker exec -it mysql /bin/bash
#2、登录mysql
mysql -uroot -p
#、容器里的退出
exit

docker安装Java开发相关环境

2.3、客户端登陆测试

docker安装Java开发相关环境

3、安装Redis

3.1、启动

1、获取镜像
docker pull redis
2、运行reids
docker run -itd --name redis01 -p 6379:6379 \
-v /mydata/redis/conf:/usr/local/etc/redis \
-d redis redis-server /etc/redis/redis.conf

如果挂载目录没有 redis.conf配置文件,会报错。
redis 官网配置:https://redis.io/docs/manual/config/

docker安装Java开发相关环境

解决方法,添加配置文件,或者不指定配置文件启动。

docker安装Java开发相关环境

3.1、连接测试

docker安装Java开发相关环境

4、安装RabbitMQ

4.1、启动

docker pull docker.io/rabbitmq:3.8-management
运行,可以在设置变量,设置用户名和密码
docker run -d --name rabbitmq01 \
-p 5672:5672 -p 15672:15672 \
-v /mydata/rabbitmq:/var/lib/rabbitmq --hostname localhost \
-e RABBITMQ_DEFAULT_VHOST=localhost  \
-e RABBITMQ_DEFAULT_USER=guest \
-e RABBITMQ_DEFAULT_PASS=guest \
-v /etc/localtime:/etc/localtime:ro \
rabbitmq:3.8-management

4.2、连接测试

ip:15672,默认账号密码是:guest (可以在启动rabbitmq 指定用户名和密码)

docker安装Java开发相关环境

5、安装nginx

5.1、获取nginx配置

1、运行默认的nginx
docker run --name myNginx -p 80:80 -v /home/nginx/html:/usr/share/nginx/html  -d nginx:latest
2、复制nginx配置到物理机上
mkdir /mydata/nginx
docker cp myNginx:/etc/nginx /mydata/nginx/etc
3、删除默认的nginx
docker stop myNginx
docker rm myNginx

5.2、启动nginx

docker run --name myNginx -p 80:80  \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/etc:/etc/nginx \
-v /mydata/nginx/log:/var/log/nginx -d  nginx

5.3、访问测试

ip:80

docker安装Java开发相关环境

6、安装portainer

方便管理docker。

6.1、启动Portainer

docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
--restart=always portainer/portainer:latest
  • –restart=always:容器添加开机自启动

6.2、登记测试

首次登记,需要创建账号,访问地址: ip:9000

docker安装Java开发相关环境

6.3、连接本地docker。

对本地docker进行管理

docker安装Java开发相关环境

查看本地docker运行状态。

docker安装Java开发相关环境

Original: https://www.cnblogs.com/galenblog/p/16621162.html
Author: 黎华扬
Title: docker安装Java开发相关环境

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/569215/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Pycharm 运行和终端都无法走代理

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月8日
    066
  • 切入点表达式

    按类匹配和按方法匹配详解 1.按类匹配:匹配到的Java类中全部方法作为目标连接点,使用within关键字。 匹配到某个类 <aop:pointcut expression=…

    Java 2023年6月9日
    069
  • Spring(十一):使用注解开发

    一、导包(添加依赖) 在Spring4之后,想要使用注解就必须要导入spring-aop这个包,这里我直接添加的spring-webmvc,其中包含了我们需要的包。 maven:s…

    Java 2023年6月15日
    063
  • 自己设置Redis分布式锁可能出现的问题及解决方案

    解决:sexnx需要加超时时间,值与超时时间一起设置,保证原子性,如果分开设置,设置值后服务挂了,仍然会死锁。 如果超时时间设置的是30s,线程1由于某种原因30s还没有执行完,这…

    Java 2023年6月8日
    062
  • Another Redis DeskTop Manager—— Redis 可视化工具

    参考资料 https://github.com/qishibo/AnotherRedisDesktopManager/blob/master/README.zh-CN.md 什么是…

    Java 2023年6月9日
    070
  • MySQL相关事项

    重启MySQL service mysql stop service mysql start service mysql restart 创建MySQL用户并允许远程访问 CREA…

    Java 2023年6月5日
    065
  • day41-网络编程03

    Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类 DatagramSocket和 DatagramPacket[&#x6570;&#x636…

    Java 2023年6月15日
    072
  • MCU软件最佳实践——独立按键

    短小精悍,适用于有rtos和无rtos场合的按键驱动程序 引子 在进行mcu驱动和应用开发时,经常会遇到独立按键驱动的开发,独立按键似乎是每一个嵌入式工程师的入门必修课。笔者翻阅了…

    Java 2023年6月6日
    0111
  • Springboot启动后执行方法(4种)

    一、注解@PostConstruct 使用注解@PostConstruct是最常见的一种方式,存在的问题是如果执行的方法耗时过长,会导致项目在方法执行期间无法提供服务。 二、Com…

    Java 2023年5月30日
    053
  • Java 运行时数据区

    Java 运行时数据区 堆 线程栈 本地方法栈 方法区 程序计数器 &#x6211;&#x4EEC;&#x7684;java&#x6587;&amp…

    Java 2023年6月7日
    073
  • 设计基础-软件架构笔记

    看了网络上的一些资料,也看了一些书本上的资料。 总体上感觉就是混乱。结合自身的经验和体会,列出几个关心的要点和个人心得。 实际的东西,读者还是去看看有关更加专业的书籍。 一、定义 …

    Java 2023年6月9日
    064
  • java httpclient简单使用

    httpClient 官网 https://hc.apache.org/index.html https://hc.apache.org/httpcomponents-client…

    Java 2023年5月29日
    068
  • [Java编程思想] 第九章 接口

    接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 9.1 抽象类和抽象方法 为了不同的子类可以用不同的方式表示接口,可以创建一个通用接口,以此表示所有导出类的共同之…

    Java 2023年6月5日
    071
  • 1

    1 posted @2022-09-25 23:44 山海自有归期 阅读(21 ) 评论() 编辑 Original: https://www.cnblogs.com/ljq202…

    Java 2023年6月7日
    069
  • json解析异常显示{“$ref“:“$[0]“}

    解决方案 1.取消FastJson的循环引用的检查:JSONObject .toJSONString (guardVoList ,SerializerFeature .Disabl…

    Java 2023年6月16日
    049
  • 带缓冲的输入/输入流

    BufferedInputStream类 与 BufferedOutputStream类 BufferedInputStream类 可以对所有InputStream的子类进行缓冲区…

    Java 2023年6月9日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球