Docker常用环境安装(Mysql,Redis,Nacos,Nginx,)

参考官方安装文档
安装Docker
卸载原有的环境:

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

 

安装对应的依赖环境和镜像地址

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

 

使用以下命令来设置稳定的仓库。
清华大学源
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

 

安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

 

启动docker

sudo systemctl start docker

配置阿里云的镜像地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

docker 设置国内镜像源
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

# vi /etc/docker/daemon.json
{
  "registry-mirrors": [
  "http://hub-mirror.c.163.com",
  "https://docker.mirrors.ustc.edu.cn",
  "https://registry.docker-cn.com"
  ]
}

 

sudo systemctl restart docker

 

设置docker开机启动
sudo systemctl enable docker

 

安装Mysql
项目软件统一安装在 /mydata 目录下
docker拉取镜像命令
docker pull mysql:5.7
docker安装MySQL命令

 

安装mysql
docker拉取镜像命令
docker pull mysql:5.7

docker run -d -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/var/etc/mysql -v /mydata/mysql/-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

修改MySQL的配置文件 vi /mydata/mysql/conf/my.cnf
[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



docker ps -a

5bf417b84934
docker restart 5bf417b84934
 
安装Redis
拉取Redis最新版本镜像
docker pull redis
先创建对应的Redis的映射配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
创建容器命令
docker run -d -p 6379:6379 --name mall-redis -v /mydata/redis/data:/data -v /mydata/redis/conf:/etc/redis  redis redis-server /etc/redis/redis.conf

启动后测试连接:
[root@manager-node conf]# docker exec -it 588c80f430b3 redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>


安装Nacos
---搜索nacos源
docker search nacos
docker pull nacos/nacos-server

mkdir -p /mydata/nacos/logs/ # 新建logs目录
mkdir -p /mydata/nacos/init.d/
vi /mydata/nacos/init.d/custom.properties # 修改配置文件
custom.properties 配置文件,直接复制修改mysqlIP即可
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
# 这里要对应ip,以及对应的数据库
db.url.0=jdbc:mysql://172.17.0.2:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,//*.css,//.js,/**/.html,//*.map,//.svg,/**/.png,//*.ico,/console-fe/public/,/v1/auth/login,/v1/console/health/,/v1/cs/,/v1/ns/,/v1/cmdb/,/actuator/,/v1/console/server/
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

要配置mysql,如果是本地,也不能直接127.0.0.1,因为docker容器也有对应的ip,所以得查看一下对应的ip
docker inspect mysql | grep IPAddress #mysql是对应的容器名字

3、运行nacos命令
前提条件做好后,就可以下运行命令

docker run --name nacos -p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-d nacos/nacos-server

 

安装Nginx
拉取Nginx最新版本镜像
docker pull nginx
先创建对应的nginx的文件夹
mkdir -p /mydata/nginx/conf
mkdir -p /mydata/nginx/log
mkdir -p /mydata/nginx/html
容器中的nginx.conf文件和conf.d文件夹复制到宿主机
# 生成容器
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /mydata/nginx/html

docker ps -a
af95e863ae81
docker restart af95e863ae81

# 删除容器
docker stop nginx
docker rm nginx
启动容器命令
docker run \
-p 80:80 -p 443:443 \
--name nginx \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/log:/var/log/nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-d nginx:latest

 

设置自启动
docker update --restart=always nginx
设置容器自启动
[root@localhost ~]# docker update --restart=always mysql
mysql
[root@localhost ~]# docker update --restart=always mall-redis
mall-redis
docker update --restart=always nacos

 

posted on 2022-12-30 23:22  &大飞  阅读(88)  评论(0编辑  收藏  举报

导航