首页 > 其他分享 >常用软件Docker部署命令

常用软件Docker部署命令

时间:2023-04-03 23:22:50浏览次数:43  
标签:部署 MySQL -- mysql 3306 服务器 Docker docker 常用软件

前言

我们在日常开发中经常会用到一些中间件,用docker快速部署是一个不错的选择。本帖将记录一些日常开发中用到的一些软件的docker部署命令,方便查阅。

PostgreSql

docker run --name dockerPG11 -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:12
  • 用户名: postgres
  • 密 码: 123456
  • 端 口: 5432
  • 版 本: 12

MySQL

docker run  --name mysql  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306  -d mysql:5.7

  • 用户名: root
  • 密 码: 123456
  • 端 口: 3306
  • 版 本: 5.7

MySQL主从同步

服务器规划:使用docker方式创建,主从服务器IP一致,端口号不一致

  • 主服务器:容器名mysql-master,端口3306
  • 从服务器:容器名mysql-slave1,端口3307
  • 从服务器:容器名mysql-slave2,端口3308

准备主服务器

step1:在docker中创建并启动MySQL主服务器:端口3306

docker run -d \
-p 3306:3306 \
-v /opt/mysql/master/conf:/etc/mysql/conf.d \
-v /opt/mysql/master/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql-master \
mysql:8.0.29
  • step2:创建MySQL主服务器配置文件:

默认情况下MySQL的binlog日志是自动开启的,可以通过如下配置定义一些可选配置

vim /opt/mysql/master/conf/my.cnf

配置如下内容

[mysqld]
# 服务器唯一id,默认值1
server-id=1
# 设置日志格式,默认值ROW
binlog_format=STATEMENT
# 二进制日志名,默认binlog
# log-bin=binlog
# 设置需要复制的数据库,默认复制全部数据库
#binlog-do-db=mytestdb
# 设置不需要复制的数据库
#binlog-ignore-db=mysql
#binlog-ignore-db=infomation_schema

重启MySQL容器

docker restart mysql-master
  • step3:使用命令行登录MySQL主服务器:
#进入容器:env LANG=C.UTF-8 避免容器中显示中文乱码
docker exec -it amysql-master env LANG=C.UTF-8 /bin/bash
#进入容器内的mysql命令行
mysql -uroot -p
#修改默认密码校验方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  • step4:主机中创建slave用户:
-- 创建slave用户
CREATE USER 'slave'@'%';
-- 设置密码
ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
  • step5:主机中查询master状态:

执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

SHOW MASTER STATUS;

记下FilePosition的值。执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化。

准备从服务器

可以配置多台从机slave1、slave2...,这里以配置slave1为例

  • step1:在docker中创建并启动MySQL从服务器:端口3307
docker run -d \
-p 3307:3306 \
-v /opt/mysql/slave1/conf:/etc/mysql/conf.d \
-v /opt/mysql/slave1/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql-slave1 \
mysql:8.0.29
  • step2:创建MySQL从服务器配置文件:
vim /opt/mysql/slave1/conf/my.cnf

配置如下内容:

[mysqld]
# 服务器唯一id,每台服务器的id必须不同,如果配置其他从机,注意修改id
server-id=2
# 中继日志名,默认xxxxxxxxxxxx-relay-bin
#relay-log=relay-bin

重启MySQL容器

docker restart mysql-slave1
  • step3:使用命令行登录MySQL从服务器:
#进入容器:
docker exec -it mysql-slave1 env LANG=C.UTF-8 /bin/bash
#进入容器内的mysql命令行
mysql -uroot -p
#修改默认密码校验方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  • step4:在从机上配置主从关系:

从机上执行以下SQL操作

CHANGE MASTER TO MASTER_HOST='192.168.31.134', 
MASTER_USER='slave',MASTER_PASSWORD='123456', MASTER_PORT=3306,
MASTER_LOG_FILE='binlog.000003',MASTER_LOG_POS=1357; 

启动主从同步

启动从机的复制功能,执行SQL:

START SLAVE;
-- 查看状态(不需要分号)
SHOW SLAVE STATUS\G

两个关键进程:下面两个参数都是Yes,则说明主从配置成功!

MariaDB


docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mariadb mariadb:10.1
  • 用户名: root
  • 密 码: 123456
  • 端 口: 3306
  • 版 本: 10.1(对应MySQL版本5.7)

MinIO

docker run  -p 9000:9000 --name minio \
 -d --restart=always \
 -e MINIO_ACCESS_KEY=minio \
 -e MINIO_SECRET_KEY=minio@123 \
 -v /usr/local/minio/data:/data \
 -v /usr/local/minio/config:/root/.minio \
  minio/minio server /data  --console-address ":9000" --address ":9090"
  • 用户名: minio
  • 密 码: minio@123
  • 端 口: 9000
  • 版 本: 最新(对应MinIO版本)

Redis

docker run --name my-redis -p 6379:6379 -d redis

Zookeeper

docker run --name some-zookeeper --restart always -p 2181:2181 -d zookeeper

标签:部署,MySQL,--,mysql,3306,服务器,Docker,docker,常用软件
From: https://www.cnblogs.com/loveletters/p/docker-software.html

相关文章

  • docker安装jenkins master及动、静态配置slave
    一、docker安装jenkins-masterwgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoumcleanall&&yummakecachefastyuminstalldocker-ydockerpulljenkins/jenkins:2.375.1-lts-jdk11mkdir/mnt/jenkins-datachown-R1000:1000/mn......
  • 5G网络架构与组网部署-2
    1.35G组网部署1.3.1SA组网与NSA组网5G标准分为非独立组网(NSA)与独立组网(SA)两种。 独立组网(SA)两种方案,其中Option2为最终目标。gNB:5G基站,ng-eNB:4G增强型基站。 非独立组网(NSA)三种方案:Option3、Option7、Option4。组网是逐步演进的,由最初的4G基站逐步演进为......
  • docker 网络介绍
     版权声明:本文为CSDN博主「逆袭的小学生」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/q610376681/article/details/90483576 上面我们只运行了nginx,并没有用浏览器进行访问,这里我们尝试用浏览器访问,但是之前我......
  • ansible 部署mysql 5.7
    准备工作创建roles目录#mkdir-pv/data/apps/ansible/roles/mysql-5.7/{files,tasks,handlers,templates,vars}hosts[ubuntu]172.16.18.31ansible_ssh_port=22ansible_ssh_user=ubuntuhostname=app-01测试连通性#ansibleubuntu-mping172.16.18.247|SUCCESS=......
  • w10 启动docker
     安装好docker以后 CMD 运行:dockerversion  docker是正常的,然后运行: dockerrun-d-p80:80docker/getting-started   运行结束后 这样就完成了。 http://127.0.0.1  ...  WSL2installationisincomplete.......
  • centos8.0 安装 docker
     此处白嫖大佬文章原文地址:传送门:https://blog.csdn.net/q610376681/article/details/90483576?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165318191616781483760773%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=1653181916......
  • 体验docker
     版权声明:本文为CSDN博主「逆袭的小学生」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/q610376681/article/details/90483576  docker基本命令1.dockerpull[options]NAME[:TAG]通过此命令可以docker远程仓库......
  • docker运行nginx
    运行nginx镜像我们打开网易蜂巢镜像中心https://c.163yun.com/hub#/m/home/搜索nginx,可以看到有两个nginx,他们的名字和头上和图标都不一样,一个是鲸鱼,一个是两个球.带有鲸鱼的镜像表示这个镜像是从官网的镜像中心复制过来的.这个镜像与docker的镜像是一摸一样的.我们使......
  • Docker Compose
    一、DockerCompose1、前言我们知道使⽤⼀个Dockerfile模板⽂件,可以让⽤户很⽅便的定义⼀个单独的应⽤容器。然⽽,在⽇常⼯作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现⼀个Web项⽬,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚⾄还......
  • ansible 部署 docker
    准备工作创建roles目录#mkdir-pv/data/apps/ansible/roles/docker/{files,tasks,handlers,templates,vars}hosts[ubuntu]172.16.18.31ansible_ssh_port=22ansible_ssh_user=ubuntuhostname=app-01测试连通性#ansibleubuntu-mping172.16.18.247|SUCCESS=>{......