以下为快速构建Centos下的生产环境、包括数据库、消息队列
step1:安装Docker
sudo yum install
#安装所需的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#添加Docker稳定版本的yum软件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#更新yum软件源缓存,并安装Docker
sudo yum install
sudo yum install -y docker-ce
#确认Docker服务启动正常
sudo systemctl start docker
step2:拉取RabbitMQ镜像
docker pull rabbitmq:3.8.3-management
step3:启动RabbitMQ
docker run -d --hostname my-rabbit -p 5672:5672 -p 15672:15672 --name some-rabbit rabbitmq:3.8.3-management
启动命令中设置了映射端口,可以直接访问服务器IP的15672端口来查看,用户名和密码默认都是guest,进入页面后会提示修改密码
到此Docker安装rabbitMq已经完成,且已成功启动。
setp4:拉取SQLServer2019镜像
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
step5:启动SQLServer2019
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_PID=HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G" -e "MSSQL_SA_PASSWORD=Myun@123jx" --name sqlserver -p 1433:1433 -v /var/opt/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
step6:连接登录SQLServer后,可以选择执行以下SQL打开代理服务
EXEC sp_configure 'show advanced', 1;
RECONFIGURE;
EXEC sp_configure 'allow updates', 0;
RECONFIGURE;
EXEC sp_configure 'Agent XPs', 1;
RECONFIGURE;
GO
step7:拉取MySQL镜像
docker pull mysql:8.0
step8:在本地宿主机上创建MySQL的配置文件my8.cnf
mkdir ~/mysql8
cd ~/mysql8
mkdir log
vim my8.cnf
以下是my8.cnf内容,以低配的1GB服务器为例子,可以用如下的配置
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
innodb_buffer_pool_size = 16M
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
performance_schema = off
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
# !includedir /etc/mysql/conf.d/
step9:此后可以把MySQL容器启动,然后把宿主机的配置映射到容器内,为了防止被攻击,可以选择宿主机的非常用端口4306
docker run -d --restart=always -p 4306:3306 -v ~/mysql8/log:/var/log/mysql -v ~/mysql8/my8.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=数据库密码 -e MYSQL_GENERAL_LOG=1 mysql:8.0
step10:此后MySQL容器配置完成,我们可以通过宿主机的4306端口,访问到容器内的MySQL,最后,我们可以把Docker服务设置为开机启动
systemctl enable docker.service
此外,以下为容器自动重启以及Docker固化命令
docker update --restart=always 容器id