docker 安装软件

使用docker 来安装各种软件了

查看docker官方镜像库

https://hub.docker.com/
在这里插入图片描述
这里就可以看拉取哪个软件哪个版本的镜像,然后启动容器

docker安装mysql

https://www.cnblogs.com/zyc-blogs/p/9618387.html
http://www.runoob.com/docker/docker-install-mysql.html

查找有关mysql镜像,实际上还是去 https://hub.docker.com/ 上找吧,这里没多少帮助信息,网页上有很多信息的
docker search mysql

拉取 mysql:5.6 镜像
docker pull mysql:5.6

启动mysql容器,下面参数语义是
-p 3306:3306 =》 映射宿主机3306端口到容器的3306端口(ps: 我是先说宿主机后说容器)
–name mysql =》 容器命名为mysql(ps:docker命令行就能用这个标识名,不然用CONTAINER ID也行)
-v /data/mysql/conf:/etc/mysql/conf.d =》 映射宿主机/data/mysql/conf目录到容器的/etc/mysql/conf.d目录(ps:一般映射目录,不用映射文件)
-e MYSQL_ROOT_PASSWORD=123456 =》 这个是这个镜像定义的环境变量,这个mysql镜像定义的(ps:如果更清楚mysql如何使用,直接用mysql中的表修改密码)
-d mysql:5.6 =》 运行mysql:5.6 这个镜像为容器
docker run -p 3306:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

期间遇到问题 IPv4 forwarding is disabled. Networking will not work.
解决:https://blog.csdn.net/yelllowcong/article/details/78295600

然后就可以访问了
在这里插入图片描述

关于这个mysql:5.6 镜像启动容器如何配置,命令行配置什么,去看 https://hub.docker.com/ 的mysql:5.6 镜像,直接看Dockerfile(反正你都要学的)
在这里插入图片描述
关于mysql的配置和使用,看mysql的知识了

docker打包镜像

我用的是springboot 2.0.8.RELEASE 版本
关于springboot 自己了解,或者使用你熟悉的后端语言,php,nodejs
IDE中开发测试springboot没问题
打包springboot的jar包
在这里插入图片描述
Dockerfile 的内容

# 定义基础镜像,这里使用 Oracle的jdk8
FROM java:8-alpine

# 复制本地文件到目标容器的系统文件中,这里是复制springboot-demo-0.0.1-SNAPSHOT.jar 到java:8-alpine 中的 /app.jar
ADD springboot-demo-0.0.1-SNAPSHOT.jar /app.jar

# 在镜像容器中创建挂载点,这里容器中会生成 /logs目录,/conf目录
# /logs 是因为logback.xml就是这样配置的
VOLUME ["/logs", "/conf"]

# 容器对外映射的端口,这里与springboot的配置文件相同
EXPOSE 8001

# 启动springboot,定义配置文件为/conf/application.yml(这个看你如何规划目录)
CMD ["java", "-jar", "/app.jar", "--spring.config.location=/conf/application.yml", "&"]

上传 springboot-demo-0.0.1-SNAPSHOT.jar 和 Dockerfile 到服务器
在这里插入图片描述

在这里插入图片描述

我写在项目的README.MD上,或者你可以放在项目的 /doc目录内 (ps:告诉别人怎么做或细节,写代码要写注释,同理啊)
生成docker镜像
部署docker镜像(ps:我是在centos7 上安装docker的,所以操作都是在centos7 上操作的)
1 上传xxx.jar 包到服务器

2 编写Dockerfile,运行命令构建docker镜像
docker build -t="springboot-demo:0.0.1-SNAPSHOT" .
在这里插入图片描述

3 启动docker镜像为容器
docker run --name springboot-demo-0.0.1-SNAPSHOT -p 8001:8001 -v /data/springboot-demo/logs:/logs -v /data/springboot-demo/conf:/conf -d springboot-demo:0.0.1-SNAPSHOT
在这里插入图片描述

自己测试一下
ps:
在这里插入图片描述

docker安装RabbitMQ

https://www.cnblogs.com/yufeng218/p/9452621.html
https://blog.csdn.net/Adrian_Dai/article/details/80677360

拉取rabbitmq:3.7-management (ps:带management 是有web管理页面的版本,开发使用;生产环境一般不用带management)
docker pull rabbitmq:3.7-management

-p 5672:5672 =》 5672端口是rabbitmq的队列通信端口(生产者和消费者都使用该端口与rabbitmq通信)
-p 15672:15672 =》 15672端口是rabbitmq的web管理页面
-v /data/rabbitmq/data:/var/lib/rabbitmq =》 该镜像的队列是放在/var/lib/rabbitmq 目录
–hostname myRabbit =》RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名
-e 指定环境变量 =》RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码
docker run --name rabbitmq -p 5672:5672 -p 15672:15672 -v /data/rabbitmq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=rabbitmq -e RABBITMQ_DEFAULT_USER=rabbitmq -e RABBITMQ_DEFAULT_PASS=rabbitmq -d rabbitmq:3.7-management

关于RabbitMQ-用户以及Virtual Hosts配置
https://blog.csdn.net/u013985664/article/details/79469773
上面docker是配置my_vhost(虚拟消息服务器)和my_vhost的账号密码rabbitmq(ps:其实可以不用配置,默认用账号密码guest进入web管理页面,自己创建对应的虚拟消息服务器Virtual Hosts 和 对应的账号密码 ),这会影响springboot中的配置

application.properties

spring.application.name=mqprovider
spring.rabbitmq.host=172.18.237.8
spring.rabbitmq.port=5672
spring.rabbitmq.username=rabbitmq
spring.rabbitmq.password=rabbitmq
#配置使用rabbitmq的服务器
spring.rabbitmq.virtual-host=my_vhost

测试的话,使用springboot写一个生产者程序和一个消费者程序,就完事
https://www.cnblogs.com/hlhdidi/p/6535677.html

docker 安装kafka

参考文章
https://www.cnblogs.com/yxlblogs/p/10115672.html
https://www.jianshu.com/p/9e02aebdac5c

拉取zookeeper和kafka 的最新版本
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

kafka默认使用zookeeper作为服务注册中心,所以会kafka启动会依赖zookeeper

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper:latest
启动zookeeper

docker run -d --name kafka -p 9092:9092 -e HOST_IP=localhost -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /data/kafka:/kafka --link zookeeper -t wurstmeister/kafka:latest
启动kafka
kafka的数据存储到容器的 /kafka目录,这里就挂载到宿主机的 /data/kafka 目录
/opt/kafka/config/server.properties 是kafka容器中的配置文件

其中可能无法启动, docker logs kafka 查看容器名为kafka的日志,看日志解决问题

执行docker exec it kafka /bin/bash,进入容器内部,kafka自带很多命令行工具,用这些命令行工具可以实验测试一下

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值