Docker简单安装| 常用命令 | 相关软件(MySQLRedisNacos)单机安装

Posted 做猪呢,最重要的是开森啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker简单安装| 常用命令 | 相关软件(MySQLRedisNacos)单机安装相关的知识,希望对你有一定的参考价值。

仅作为开发本地环境搭建参考

0. 创建普通账号(test)

  为了安全起见,我们是不会直接用root账号,一般是会用普通账号,在这里我创建一个普通账号(test).

# 1. 创建普通用户(test)
[root@dev-application ~]# useradd test

# 2. 设置test密码
[root@dev-application ~]# passwd test

# 3. 为test账号配置sudo权限
[root@dev-application ~]# vi /etc/sudoers

## Allow root to run any commands anywhere
# 增加如下内容( 允许用户app不需要输入密码即可即行sudo  )
test     ALL=(ALL)       NOPASSWD:ALL

1. Centos7下安装Docker

# 设置稳定安装源
[test@localcentos ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[test@localcentos ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 安装docker
[test@localcentos ~]$ sudo yum install -y docker-ce

 1.1. 查看docker版本,验证是否安装成功

docker version

 1.2. 启动docker服务&&查看是否启动成功&&设置开机启动

# 启动docker
[test@localcentos ~]$ sudo systemctl start docker
# 查看是否启动成功
[test@localcentos ~]$ sudo systemctl status docker
# 设置开机启动
[test@localcentos ~]$ sudo systemctl enable docker

 1.3. 查看docker已安装镜像

docker ps
docker stop CONTAINER ID(可全写可写部分开头)

 1.4. 卸载docker已安装镜像

  1.4.1. 查看镜像实例是否运行 && 停止镜像实例进程

docker ps
docker stop CONTAINER ID(可全写可写部分开头)

  1.4.2. 卸载镜像实例

docker ps -a # 列出所有容器实例,包括未运行的
docker rm CONTAINER ID

执行后,镜像还在,但是容器实例已经被卸载

  1.4.3. 卸载镜像

docker rmi IMAGE ID

 1.5. 拉取镜像

docker pull mysql:版本号 #不写:版本号默认最新版本
docker pull mysql:5.7

2. Docker安装MySQL

 2.1. 下载mysql5.7

# 1. 安装tree(可忽略)
[test@localcentos ~]$ yum -y install tree

# 2. 创建mysql应用程序的数据目录(可忽略)
[test@localcentos ~]$ mkdir -p ~/application/mysql/conf,logs,data

# 3. 查看mysql应用程序的数据目录(可忽略)
[test@localcentos ~]$ tree
.
└── application
    └── mysql
        ├── conf
        ├── data
        └── logs

# 3. 下载mysql5.7
[test@localcentos ~]$ sudo docker pull mysql:5.7
# 4. 查看拉取的镜像
[test@localcentos home]$ docker images

 2.2. 基于镜像创建mysql容器实例

# 5. 基于镜像创建mysql容器实例
#    注意: MYSQL_ROOT_PASSWORD请自行填写
#    注意: /home/app/application/mysql为宿主机目录
[test@localcentos home]$ sudo docker run -p 3306:3306 --name mysql \\
-v /home/test/testlication/mysql/conf:/etc/mysql \\
-v /home/test/testlication/mysql/logs:/var/log/mysql \\
-v /home/test/testlication/mysql/data:/var/lib/mysql \\
-e MYSQL_ROOT_PASSWORD=123456 \\
-d mysql:5.7

参数说明:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
  • -v 操作在容器创建的过程时候可以将宿主机的目录挂载到容器内

 2.3. 授权root允许访问

# 1. 进入mysql容器
[test@localcentos ~]$ sudo docker  exec -it mysql /bin/bash

# 2. root用户登录mysql
# mysql -u root -p

#3. 修改允许root远程访问
# alter user 'root'@'%' identified with mysql_native_password by '123456';

# 4. 给某个用户授权
# grant all privileges on . to 'root'@'%' identified by '123456' with grant option;

# 5. 刷新授权
# flush privileges;
# exit  #退出容器

 2.4. 防火墙允许3306放行

  • sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • sudo firewall-cmd --reload

至此,可以用navicat等工具远程连接mysql

3. Docker安装Redis

# 1. 拉取redis镜像
[test@localcentos ~]$ sudo docker pull redis

# 2. 运行redis
[test@localcentos ~]$ sudo docker run -it -d --restart=always --name redis -p 6379:6379 redis

# 3. 防火墙放行
[test@localcentos ~]$ sudo firewall-cmd  --zone=public --add-port=6379/tcp --permanent
[test@localcentos ~]$ sudo firewall-cmd  --reload

# 4. 进入redis容器
[test@localcentos ~]$ docker exec -it redis-test /bin/bash
# 5.  redis-cli 连接测试使用 redis 服务

–restart=always 后,当 docker 重启时,容器自动启动。

4. Docker安装Nacos

需要注意,nacos需要数据库,所以,需要创建数据库和和表. 数据库执行如下脚本文件即可
nacos.sql

# 1. 拉取镜像
[test@localcentos ~]$ sudo docker pull nacos/nacos-server

# 2. 运行nacos
#    注意配置mysql:ip地址/数据库名称/用户名/密码. 
#    NACOS_SERVER_IP : 代表nacos服务器的IP地址. 
#    MYSQL_SERVICE_HOST: mysql服务器IP地址. 
sudo docker run -d  \\
--restart=always \\
--name nacos \\
-p 8848:8848 \\
--env MODE=standalone \\
--env NACOS_SERVER_IP=192.168.41.128 \\
--env SPRING_DATASOURCE_PLATFORM=mysql \\
--env MYSQL_SERVICE_HOST=192.168.41.128 \\
--env MYSQL_SERVICE_DB_NAME=nacos \\
--env MYSQL_SERVICE_USER=root \\
--env MYSQL_SERVICE_PASSWORD=123456 \\
--env MYSQL_DATABASE_NUM=1 \\
nacos/nacos-server

# 3. 防火墙开放端口
[test@localcentos ~]$ sudo firewall-cmd  --zone=public --add-port=8848/tcp --permanent
[test@localcentos ~]$ sudo firewall-cmd  --reload

【注意】:如果报错:invalid reference format: repository name must be lowercase.
检查 \\ 前面要有空格

访问:http://192.168.41.128:8848/nacos 控制台登录页面;nacos/nacos

以上是关于Docker简单安装| 常用命令 | 相关软件(MySQLRedisNacos)单机安装的主要内容,如果未能解决你的问题,请参考以下文章

Docker及常用软件的安装部署

docker常用命令整理-在容器中使用service命令

Docker——使用docker工具管理软件/组件的运行,镜像容器数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

Docker——使用docker工具管理软件/组件的运行,镜像容器数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

Docker——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)

docker安装常用软件