赞
踩
Docker
是一个开源的容器化平台,可帮助开发者轻松地创建、部署和运行应用程序。Docker
使开发人员能够在一个独立的容器中打包应用程序及其依赖项,这样他们就可以轻松地将应用程序移植到任何其他环境中。
使用Docker
的主要优势:
Docker
容器可以在任何支持Docker
的平台上运行,因此应用程序可以轻松地在不同的环境中部署和运行。Docker
容器提供了隔离的运行环境,使得应用程序可以在独立的环境中运行,从而避免了依赖冲突和其他问题。Docker
容器可以轻松地从一个平台移植到另一个平台,从而使应用程序在不同的平台上运行变得更加容易。Docker
容器提供了安全性隔离,使得应用程序和它的依赖项可以在受保护的环境中运行,从而减少了潜在的安全风险。Docker 官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
卸载系统之前可能安装的 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
设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
这样就安装好docker
和基本环境了,接下来就可以启动docker
了
#启动docker
sudo systemctl start docker
#查看docker服务状态 running 就是启动成功
sudo systemctl status docker
sudo systemctl enable docker
docker命令官方文档 https://docs.docker.com/engine/reference/commandline/docker/
Docker
的常用命令:
#镜像命令 docker images:列出所有镜像 docker search [image]:搜索 Docker 镜像 docker pull [image]:拉取指定镜像 docker rmi [image]:删除指定镜像 #容器命令 docker ps:列出当前所有正在运行的容器 docker ps -a:列出所有容器,包括已经停止的容器 docker create [image]:创建一个新的容器,但不启动它 docker start [container]:启动一个容器 docker stop [container]:停止一个容器 docker rm [container]:删除一个容器 docker exec -it [container] [command]:在运行中的容器中执行命令 #其他命令 docker info:显示 Docker 系统信息 docker version:显示 Docker 版本信息 docker logs [container]:查看容器的日志 docker network ls:列出 Docker 网络 docker network create [network]:创建一个新的 Docker 网络 docker network connect [network] [container]:将容器连接到指定的 Docker 网络 docker network disconnect [network] [container]:将容器从指定的 Docker 网络中断开连接
配置 docker阿里云容器镜像服务镜像加速,可以使您的docker使用起来更流畅
注意:针对 Docker 客户端版本大于 1.10.0 的用户
您也可以直接通过修改daemon
配置文件/etc/docker/daemon.json
来使用其他的加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docke
上述代码的意思是在本机创建/etc/docker
目录,创建文件daemon.json
,在其中输入一下代码,重启docker。
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
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 pull mysql:5.7
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/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306
:将容器的 3306 端口映射到主机的 3306 端口-v /mydata/mysql/conf:/etc/mysql/conf.d
:将配置文件夹挂载到主机-v /mydata/mysql/log:/var/log/mysql
:将日志文件夹挂载到主机-v /mydata/mysql/data:/var/lib/mysql
:将数据文件夹挂载到主机-e MYSQL_ROOT_PASSWORD=root
:初始化 root 用户的密码注意:-v /mydata/mysql/conf:/etc/mysql/conf.d
,这段代码笔者在使用时遇到一些错误,挂载时需要加上conf.d
,如果部署发生错误,尝试去除这段,换用以下部署代码
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
使用容器mysql命令行工具
docker exec -it mysql mysql -uroot -proot
设置 root 远程访问
//设置远程root密码登录,与本地root密码登录不同
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
// 如需修改
//alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
进入容器内部,查看配置文件是否挂载成功
docker exec -it mysql /bin/bash
cd /etc/mysql/conf.d
cat my.cnf
注意:挂载的配置文件要先创建才可以看到容器内部是否生效,即要先创建/mydata/mysql/confmy.cnf
文件才能观察到内外配置信息。
Redis 配置
vi /mydata/redis/conf/redis.conf
输入以下配置文件
# 暂无
#password= 123
不多废话,直接上代码
docker pull redis
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
参数说明
-p 6379:6379
:将容器的 3306 端口映射到主机的 3306 端口-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
:将配置文件夹挂载到主机-v /mydata/redis/data:/data
:将数据文件夹挂载到主机#重启redis
docker restart redis
#启动redis客户端
docker exec -it redis redis-cli
create database nacos_config
Nacos配置
mkdir -p /mydata/nacos/conf/ #新建nacos的logs目录
mkdir -p /mydata/nacos/logs/
vim /mydata/nacos/conf/application.properties #新建并修改nacos的配置文件
server.contextPath=/nacos server.servlet.contextPath=/nacos server.port=8848 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?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
注意: 这里的配置需要把数据库链接配置一下。
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass
修改为自己的数据库地址和账号密码
不多废话,直接上代码
docker pull nacos/nacos-server:1.1.4
docker run -d \
--name nacos \
-p 8848:8848 \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server
参数说明
-p 6379:6379
:将容器的 3306 端口映射到主机的 3306 端口/mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties
:将配置文件夹挂载到主机-v /mydata/nacos/logs:/home/nacos/logs
:将日志文件夹挂载到主机#重启redis
docker restart nacos
#进入容器
docker exec -it nacos bash
访问地址:http://x.x.x.x:8848/nacos (这里是服务器的ip地址)
账号密码:nacos / nacos
进去了就算成功
如果这篇【文章】有帮助到你,希望可以给笔者点个赞
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。