首页 > 其他分享 >阿里云 Docker 部署个人博客全过程记录

阿里云 Docker 部署个人博客全过程记录

时间:2023-03-28 19:56:43浏览次数:55  
标签:mongo -- redis 博客 全过程 mysql docker root Docker

Dockers安装

新手可以去阿里云免费试用一个月云服务器,建议按照阿里文档部署,CentOS可以参考这个

https://help.aliyun.com/document_detail/187598.html

查看本机内核版本,内核版本需高于 3.10

uname -r

运行以下命令,安装dnf

yum -y install dnf

运行以下命令,安装Docker存储驱动的依赖包

dnf install -y device-mapper-persistent-data lvm2

运行以下命令,添加稳定的Docker软件源(一定要配置,不然下载速度特别慢)

dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

正确的返回示例如下

docker-ce.x86_64        3:19.03.13-3.el7        docker-ce-stable

运行以下命令安装Docker

dnf install -y docker-ce --nobest

配置阿里云镜像加速docker镜像下载,参考这个

https://help.aliyun.com/document_detail/60750.html

运行以下命令启动Docker

systemctl start docker

验证安装

docker version

docker的一些基础命令

docker images 查看docker镜像
docker ps 查看正在运行的容器
docker ps –a 查看所有容器
service docker status 查看docker状态
docker version 查看docker版本

创建自定义网络

docker 默认是使用bridge,容器每次启动,IP都会发生变动,不利于维护管理, 172.17.0.0/16 是docker默认网段

docker network create --subnet=172.18.0.0/16 blognet

mysql容器安装

拉取mysql镜像

docker pull mysql:5.6

创建并运行容器,123456root 密码, --network blognet --ip 172.18.0.2 使用之前创建的网络, 172.18.0.1是网关

docker run --name mysql56 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --network blognet --ip 172.18.0.2  -d mysql:5.6

在默认情况下,我们安在阿里云上的mysql是不支持远程连接的,但是我们还需要通过一些工具来连接mysql,如navicat,这时就需要我们来修改mysql的远程连接了。

docker exec -it mysql56 bash
mysql -uroot -p

打开mysql数据库 (需要有能操作blog这个库的权限,一般是mysql的root用户)

use blog;

指定的ip 表示 只有该ip能连接mysql

-- *.*代表所有库表
-- 若想给予所有IP权限,”ip”写成“%”,所以第一句sql的意思是给予来自所有IP地址的通过“root用户”
-- “密码”登录的用户对所有库表的所有操作权限
grant all privileges on *.* to 'root'@'阿里云公网IP' identified by 'root密码' with grant option;
-- 刷新权限
flush privileges;

不要现在就去navicat进行连接,还需要做两件事,要不你就到坑里了

测试连接mysql,如:命令行或navicat,连接上即成功创建mysql容器,随后进行建库建表操作

redis容器安装

docker pull redis

以配置文件启动,redis.conf文件链接: https://www.aliyundrive.com/s/Q1TG9UjNLWk 提取码: 5ld2

/root/redis/redis.conf 中daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。

-v /root/redis/data:/data 容器 /data 映射到宿主机 /root/redis/data

-d redis 后台模式启动 redis

redis-server /etc/redis/redis.conf redis 将以 /etc/redis/redis.conf 为配置文件启动

--appendonly yes 开启redis 持久化

docker run -p 6379:6379 --network blognet --ip 172.18.0.5 --name redis -v /root/redis/redis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

mongodb容器安装

docker pull mongo
docker run --network blognet --ip 172.18.0.7 -itd --name mongo -p 27017:27017 mongo --auth

docker run -it --rm \
  --link mongo:mongo \
  --entrypoint npm \
  --workdir /api/vendors \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  run install-server

进入容器

docker exec -it mongo mongo admin
-- mongo5.0以上使用
docker exec -it mongo mongosh admin

创建全局用户

db.createUser({ user:'admin', pwd:'123456', roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});

对 admin 用户进行身份认证

db.auth("admin","123456");

创建用户以及关联数据库

db.createUser({ user: 'log', pwd: '123456', roles: [ { role: "readWrite", db: "log" } ] });

对 log用户进行身份认证

db.auth("log","123456");

远程连接的开启

mongodb 的容器当中

#更新源
apt-get update
#安装 vim
apt-get install vim
#修改 mongo 配置文件
vim /etc/mongod.conf.orig

将其中的bindIp: 127.0.0.1注释掉# bindIp: 127.0.0.1 或者改成bindIp: 0.0.0.0 即可开启远程连接

遇到的坑

用 use db 创建数据库,show dbs 查不到

此SHOW DBS命令不会显示数据库,因为您可能尚未为集合创建文档。如果要为集合创建文档,则创建的数据库将可见。

> use log;
switched to db web

-- 为了显示WEB数据库,我们需要在同一数据库中创建包含文档的集合
> db.check.insertOne({"ClientName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cb806c2623186894665ae35")
}

-- 在find()方法的帮助下显示集合中所有文档的查询
> db.check.find();
{"_id" : ObjectId("5cb806c2623186894665ae35"),"ClientName" :"John" }

-- 显示所有数据库,现在可以看到log数据库了
> show dbs;
admin 0.001GB
config 0.000GB
local 0.000GB
log 0.000GB

解决Navicat连接Mongodb不显示数据库

点击连接,选择mongoDB,在编辑连接中选择数据库,全选

springboot整合mongo,配置密码连接,就报错

两种配置都少一步关键配置 ,需要配置去认证的库 authenticationDatabase也就是需要加(因为我的账号密码信息在admin库里),yml追加authentication-database: admin

spring:
  data:
    mongodb:
      username: 'log'
      password: '123456'
      host: 172.18.0.7
      port: 27017
      database: log
      field-naming-strategy: org.springframework.data.mapping.model.SnakeCaseFieldNamingStrategy
      authentication-database: admin

rabbitmq容器安装

这个是带web管理页面的,启动后访问ip:15672

docker pull rabbitmq:management
-- 默认管理员账号:guest 密码:guest
docker run -di --name=rabbitmq --network blognet --ip 172.18.0.6 -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

参考文章:阿里云下配置MySQL远程连接的步骤详解

标签:mongo,--,redis,博客,全过程,mysql,docker,root,Docker
From: https://www.cnblogs.com/reallife/p/17266466.html

相关文章

  • docker 搭建大数据集群(hive、hbase、ZooKeeper、Scala、Spark)
    1)本机系统设置电脑设置虚拟缓存(设置为自动管理)虚拟机设置内存和CPU内存设置为8G(或以上)CPU稍微设置高一点(三个虚拟化能开就开)虚拟机系统配置阿里源 wget-O/......
  • Docker 部署引用gdal包的Python程序
    1下载gdal的基于Ubuntu全镜像dockerpullosgeo/gdal:ubuntu-full-3.5.3这个镜像里包含了gdal和扩展包2运行镜像并进入dockerrun-ditosgeo/gdal:ubuntu-full-3......
  • minio集群docker部署
    一、社区版给的方案1、docker-compose.yaml下载地址:https://raw.githubusercontent.com/minio/minio/master/docs/orchestration/docker-compose/docker-compose.......
  • 如何清理 Docker 占用的磁盘空间
    Docker很占用空间,每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时,我们的磁盘空间会被大量占用。如果你也被这个问题所困扰,咱们就一起看一下Docker是如何使用......
  • CSDN博客自定义栏目——Google、百度、必应站内搜索框
    百度的(搜到的内容不够精确)<formmethod="get"target="_blank"action="https://www.baidu.com/s"><divstyle="background-color:white"><inp......
  • windows下使用docker
    之前一直在Linux上玩docker,这次尝试下在windows上操作docker。做下总结:首先启动dockerdesktop。1、VS中右键-发布项目 2、在dockerfile所在目录下执行dockerbuil......
  • Docker Desktop修改存储位置
    WindowsDockerDesktop修改存储位置一、DockerDesktop安装DockerDesktop的安装过程没有什么特殊需要说明的地方,按照正常软件安装过程完成安装即可在安装完成后,Docke......
  • 【已解决】docker 国内源不生效, mirror 不生效。
    现象:ubuntu/centos配置了国内源,一直不生效。重启也不行。#1.停dockersystemctlstopdockersystemctlstopdocker.scoket#2.检查systemctlstatusdocker#A......
  • docker 按照es 和kibana
    使用docker按照eskibanan1.1.创建网络为了同时部署es和kibana,让es和kibana容器互联。这里先创建一个网络:dockernetworkcreatees-net下载ik分词器wgethttps://github.c......
  • docker环境配置
    1.docker部署1.1linux系统下部署dockerStep1:检查linux操作系统的版本及其内核版本,需要是centos7--64,内核版本3.10以上Step2:检查是否有历史安装记录yumlistinstalled......