一.Docker的简介

二.Docker的安装

https://docs.docker.com/engine/install/centos/
本次记录为Linux上安装Docker

1.)较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker \
               docker-client \
               docker-client-latest \
               docker-common \
               docker-latest \
               docker-latest-logrotate \
               docker-logrotate \
               docker-engine

2.)安装yum-utils软件包 并设置Docker下载地址

   yum -y install docker

 $ sudo yum install -y yum-utils

 $ sudo yum-config-manager \
   --add-repo \
   https://download.docker.com/linux/centos/docker-ce.repo

3.) 安装Docker

  $ sudo yum install docker-ce docker-ce-cli containerd.io

4.) 启动Docker/设置为开机器自启

 $ sudo systemctl start docker

$ sudo systemctl enable docker

5.) 设置Docker镜像加速器 重启docker线程和服务

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

# 三. Docker 安装MySql

1.下载MySql镜像

  Docker镜像仓库地址:https://hub.docker.com/
  指定版本安装需在后面加 :版本 ,默认为最新版本

```
   $ sudo docker pull mysql:5.7 
```

2.启动MySql容器

1.新增一个容器

docker run -p Linux端口:容器 --容器名称

//目录挂载

Linux目录-v /mydata/mysql/log : 容器对应的目录

    
```
 sudo docker run -p 3306:3306 --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -e MYSQL_ROOT_PASSWORD=root \
 -d mysql:5.7
 
  //查看所有容器
  $ sudo docker ps
```
  

2.设置mysql

cd /mydata/mysql/conf/

vim my.config


 ```
  [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
 ```

3.重启MySql


 docker restart mysql

4.进入MySql容器

   docker exec -it mysql /bin/bash
   
   //设置root账户可以所有机器访问
   update user set user.Host='%' where user.User='root';
   flush privileges;

   //如果报错自行修改 host 或者 新增 账户如下语句
   Grant all privileges on *.* to 'shiqi'@'%' identified by '123456' with grant option;
   flush privileges;

四.Docker下Redis安装

1.下载镜像


```
  $ sudo docker pull redis
```

2.安装挂载

 $ sudo mkdir -p /mydata/redis/conf
 $ sudo touch /mydata/redis/conf/redis.conf
 //写入数据持久化 其他配置可以到Redis 官方查看 自行配置
 //https://raw.githubusercontent.com/redis/redis/6.0/redis.conf
 vim redis.conf
 appendonly yes
 
 $ sudo docker run -p 6379:6379 --name redis \
      -v /mydata/redis/data:/data \
      -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
      -d redis redis-server /etc/redis/redis.conf

五.Docker下载安装Nacos

1.下载镜像

 
 ```
   //此处不指定版本号 默认 下载最新版本
   docker pull nacos/nacos-server:1.4.1
 ```

2.安装挂载和配置

http://xxx.xxx.xx.xx:8848/nacos
账号:nacos 密码:nacos

  //创建挂载文件
  mkdir -p /opt/nacos/init.d
  mkdir -p /opt/nacos/logs
  
  //编辑 nacos 配置文件
  cd init.d
  vim custom.properties
  
  nacos 数据库 粘贴到配置文件并进行 mysql 配置
  https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
  
  //启动一个 nacos 容器 将nacos log 文件 和 配置文件挂载 对应路径上
  docker  run \
   --name nacos -d \
   -p 8848:8848 \
   -p 9848:8848 \
   -p 9849:8848 \
   --privileged=true \
   --restart=always \
   -e JVM_XMS=256m \
   -e JVM_XMX=256m \
   -e MODE=standalone \
   -e PREFER_HOST_MODE=hostname \
   -v /opt/nacos/logs:/home/nacos/logs \
   -v /opt/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
   nacos/nacos-server
   
   docker update -m 512m --memory-swap -1 容器ID

六.docker 安装 rabbitmq

1.拉取 mq镜像

// 单纯mq镜像
docker pull rabbitmq
// 带web控制面板镜像
docker pull rabbitmq:management

2.创建映射文件路径 默认 opt 路径 根据自身喜好调整

mkdir -p /opt/rabbitmq/{etc,lib,var/{lib,log}}

3.创建mq容器

--name 名字

-d 后台运行

-p 端口映射

-v 路径映射

docker run \
  --name rabbitmq -d \
  -p 1883:1883 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 61613:61613 -p 61614:61614 -p 8883 \
  -v /opt/rabbitmq/etc:/etc/rabbitmq \
  -v /opt/rabbitmq/lib:/var/lib/rabbitmq \
  -v /opt/rabbitmq/log:/var/log/rabbitmq \
  rabbitmq:management

进入容器

  docker exec -it rabbit /bin/bash
  
  //开启控制台插件
  rabbitmq-plugins enable rabbitmq_management

七.docker 安装 宝塔面板(单纯为了搞一个php博客 傻瓜式操作)

1.拉取镜像

  docker pull pch18/baota

2.创建映射文件并 创建容器

  mkdir bt/{wwwroot}
  
  //创建容器
  docker run -tid --name baota --net=host --privileged=true --shm-size=1g --restart always -v /opt/wwwroot:/www/wwwroot pch18/baota
  
登陆地址 http://{{面板ip地址}}:8888
初始账号 username
初始密码 password

这个账号密码 我确没有登录上去 
解决办法

```
   //进入容器
   docker exec -it baota /bin/bash
   //输入下面命令按照提示 菜单进行修改
   bt
```