docker安装一系列镜像

启动docker

systemctl start docker

docker 启动已经停止的容器

docker start idOrName

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

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

相关推荐

  1. docker 镜像仓库harbor安装

    2024-02-21 06:14:03       47 阅读
  2. docker程序镜像安装

    2024-02-21 06:14:03       36 阅读
  3. 文详解Docker镜像

    2024-02-21 06:14:03       32 阅读
  4. 离线安装dokcer&离线获取docker镜像

    2024-02-21 06:14:03       12 阅读
  5. Docker Harbor私有镜像image仓库安装

    2024-02-21 06:14:03       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 06:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 06:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 06:14:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 06:14:03       20 阅读

热门阅读

  1. starrocks对大量数据怎么实现hash join

    2024-02-21 06:14:03       28 阅读
  2. npm install一直卡在 sill idealTree buildDeps

    2024-02-21 06:14:03       27 阅读
  3. 机器学习速成

    2024-02-21 06:14:03       32 阅读
  4. 6CCS3ML1 Machine Learning

    2024-02-21 06:14:03       21 阅读
  5. 机器学习 -- 矩阵和向量

    2024-02-21 06:14:03       23 阅读
  6. PaddleSeg分割框架解读[02] 配置文件config详解

    2024-02-21 06:14:03       28 阅读
  7. 74.如何实现无XML零配置的SpringMVC

    2024-02-21 06:14:03       25 阅读
  8. git项目管理

    2024-02-21 06:14:03       30 阅读
  9. linux docker部署深度学习环境(docker还是conda)

    2024-02-21 06:14:03       34 阅读
  10. singularity-ce-4.1.0 + go 完整安装步骤,及报错解决

    2024-02-21 06:14:03       24 阅读
  11. 深入理解Golang中的Options模式

    2024-02-21 06:14:03       24 阅读