docker安装一系列镜像

启动docker

systemctl start docker

docker 启动已经停止的容器

docker start idOrName
#停止容器
docker stop idOrName
#重启容器
docker restart idOrName

 PS:idOrName为容器的id或者名称

删除运行中的 MySQL 容器

docker rm -f mysql

docker查看正在运行的容器

docker ps
#docker查看所有的容器,包括未在运行
docker ps -a

 

1、安装mysql镜像

拉取mysql5.7的镜像

docker pull mysql:5.7

查看镜像

docker images

启动mysql

#启动mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

查询容器id为39b1d9706a03 内的文件目录

docker exec 39b1d9706a03 ls -a /

复制配置文件 

docker cp mysql:/etc/my.cnf /home/hff/software/docker/mysql/conf/

打开/home/hff/software/docker/mysql/conf/my.cnf 文件,增加以下内容。

# 配置文件中添加如下内容,注意是在在[mysqld]目录中
log-bin=mysql-bin  # 开启 binlog
binlog-format=ROW  # 选择 ROW 模式
server-id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

删除原 MySQL 容器,通过新配置创建新的容器。 

# 删除运行中的 MySQL 容器
docker rm -f mysql

# 运行 Docker 容器命令
# /etc/localtime 时间同步
# /docker/software/mysql/conf 同步配置文件,上面配置的内容就会覆盖容器中的配置文件
# /docker/software/mysql/log 同步日志目录
# /docker/software/mysql/data 同步 MySQL 的一些文件内容(对数据进行备份)
# MYSQL_ROOT_PASSWORD=root 默认 root 的密码是 root
docker run --name mysql \
-p 3306:3306 \
-v /home/hff/software/docker/mysql/conf/:/etc \
-v /home/hff/software/docker/mysql/log:/var/log \
-v /home/hff/software/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

进入到 MySQL 的命令行模式来给 root 账号授权所有 ip 能够访问。

# 使用 MySQL 容器中的命令行
docker exec -it mysql /bin/bash

# 使用 MySQL 命令打开客户端:
mysql -uroot -proot --default-character-set=utf8

# 接着创建一个账户,该账号所有 IP 都能够访问
grant all privileges on *.* to 'root' @'%' identified by 'root';

# 刷新生效
FLUSH PRIVILEGES;

2、安装redis镜像

拉取镜像

docker pull redis

本地创建一个配置文件/home/hff/software/docker/redis/conf/redis.conf

bind 0.0.0.0
protected-mode no
port 6379
daemonize no
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
requirepass root

 创建 redis 容器,并挂载配置

docker run --name redis -p 6379:6379 -v /home/hff/software/docker/redis/data:/data -v /home/hff/software/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

  • –name : 容器名称
  • -p 端口映射 宿主机:容器
  • -v 挂载自定义配置 自定义配置:容器内部配置
  • -d 后台运行
  • redis-server 使用指定的配置文件启动

进入redis

docker exec -it redis redis-cli

3、安装nacos

拉取镜像

docker pull nacos/nacos-server:v2.1.1

创建挂载目录

mkdir -p /home/hff/software/docker/nacos/conf
mkdir -p /home/hff/software/docker/nacos/logs
mkdir -p /home/hff/software/docker/nacos/data

PS: -p 作用是在创建多级文件时,不存在某一级文件就会创建,存在就使用原文件

启动nacos,复制相关文件到挂载目录

docker run --name nacos -d -p 8848:8848 -e MODE=standalone  nacos/nacos-server:v2.1.1
  • docker run -d :启动容器, -d 表示后台启动并返回容器id
  • –name nacos :容器名称为nacos
  • -p 8848:8848 :容器相关端口号,“:”前为宿主机访问启动容器端口号,“:”后为容器端口号
  • -e MODE=standalone : 以单机版启动
  • nacos/nacos-server:v2.1.1 :启动容器的nacos镜

(1)复制容器配置文件到宿主机

docker cp nacos:/home/nacos/conf/ /home/hff/software/docker/nacos
docker cp nacos:/home/nacos/logs/ /home/hff/software/docker/nacos
docker cp nacos:/home/nacos/data/ /home/hff/software/docker/nacos

PS:这里的本地文件没有加上conf,如果加上了会在conf下再创建一个conf,后面的同理。

启动nacos

docker run -d --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--env MODE=standalone \
--env NACOS_AUTH_ENABLE=true \
-v /home/hff/software/docker/nacos/conf:/home/nacos/conf \
-v /home/hff/software/docker/nacos/logs:/home/nacos/logs \
-v /home/hff/software/docker/nacos/data:/home/nacos/data \
nacos/nacos-server:v2.1.1
-d 表示运行在后台,--name 指定名称为nacos
-p 8848:8848  前者为暴露给外部访问的端口,后者为nacos容器端口
-p 9848:9848 9848是nacos2.0.0版本以上必须要加上端口映射
-p 9849:9849 9849是nacos2.0.0版本以上必须要加上端口映射
--env MODE=standalone  nacos以单机版启动,默认为cluster(集群)
--env NACOS_AUTH_ENABLE=true 如果使用官方镜像,请在启动docker容器时,添加如下环境变量
-v /home/hff/software/docker/nacos/conf:/home/nacos/conf  nacos 配置文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
-v /home/hff/software/docker/nacos/logs:/home/nacos/logs  nacos 日志文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
-v /home/hff/software/docker/nacos/data:/home/nacos/data  nacos 数据文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录
nacos/nacos-server:v2.1.1   指定 docker nacos 版本

测试是否能成功访问

http://192.168.253.110:8848/nacos

4、安装rocketmq

安装 NameServer。

docker run -d -p 9876:9876 --name rmqnamesrv foxiswho/rocketmq:server-4.5.1

安装 Brocker。

1)新建配置目录。

mkdir -p /home/hff/software/docker/rocketmq/conf

2)新建配置文件 broker.conf。

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 此处为本地ip(写虚拟机的固定ip), 如果部署服务器, 需要填写服务器外网ip
brokerIP1 = xx.xx.xx.xx

3)创建容器。

docker run -d \
-p 10911:10911 \
-p 10909:10909 \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-v /home/hff/software/docker/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" \
foxiswho/rocketmq:broker-4.5.1

安装 RocketMQ 控制台。

docker pull pangliang/rocketmq-console-ng
docker run -d \
--link rmqnamesrv:namesrv \
-e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=namesrv:9876 -Drocketmq.config.isVIPChannel=false" \
--name rmqconsole \
-p 8088:8080 \
-t pangliang/rocketmq-console-ng

运行成功,稍等几秒启动时间,浏览器输入 ip:8088 查看控制台

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值