侧边栏壁纸
博主头像
彼豆博主等级

行动起来,活在当下

  • 累计撰写 14 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

docker常用应用启动命令

彼豆
2024-03-11 / 0 评论 / 1 点赞 / 56 阅读 / 6853 字

Nginx

仓库地址:https://hub.docker.com/_/nginx

docker run -d \
-p 80:80 \
-p 443:443 \
--name nginx \
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/docker/nginx/log:/var/log/nginx \
-v /data/docker/nginx/ssl:/etc/nginx/ssl \
-v /data/docker/nginx/html:/usr/share/nginx/html \
nginx:1.25.4-alpine \
--restart=always
  • 暴露80、443端口
  • 挂载nginx.conf、conf.d目录、挂载其他目录
  • 开机自启

MySQL

仓库地址:https://hub.docker.com/_/mysql

docker run -d -p 3308:3306 \
--name mysql \
-v /data/docker/mysql/conf.d:/etc/mysql/conf.d \
-v /data/docker/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0.36 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

这将启动一个新容器 mysql,其中 MySQL 实例使用 容器内的/etc/mysql/my.cnf/etc/mysql/conf.d/config-file.cnf 中的组合启动设置,后者的设置优先。

  • character-set-server: 设置默认字符集
  • collation-server: 字符集排序

MySQL配置文件

[mysqld]
port=3306 #端口
socket=/data/mysql8.0.28/mysql.sock #客户端和服务端之间建立通信时需要指定一个通信stock文件
pid-file=/data/mysql8.0.28/mysql.pid #mysql服务启动后会记录进程id到该文件中,用于记录服务的运行情况
basedir=/usr/local/mysql/mysql8.0.28 #安装路径
datadir=/data/mysql8.0.28/data #数据存放位置
character-set-server=utf8mb4 #服务器默认字符集
default-storage-engine=INNODB #默认存储引擎
sql-mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' #SQL模式
max_connections=800 #最大连接数,默认值为151,上限值是16384,实际连接数是最大连接数的85%较为合适
max_connect_errors=10 #最大错误连接数
#--------日志设置【错误日志】
log-output=FILE #表示查询日志和慢查询日志到文件(FILE)还是表中(TABLE)
log_error=/data/mysql8.0.28/data/error.log
log_warnings=2 #0表示不记录告警信息,1表示告警信息写入错误日志,大于1, 表示各类告警信息,例如有关网络故障的信息和重新连接信息写入错误日志
#--------通用查询日志,每条sql都会记录
general_log=0 #是否开启,0关闭、1开启,一般设置为关闭
general_log_file=general.log #路径
#---------慢查询日志
slow_query_log=0 #是否开启慢查询日志
slow_query_log_file=slow.log #日志文件
log_queries_not_using_indexes=1 #无论是否超时,未被索引的记录也会记录下来
long_query_time=2 #慢查询阈值(秒),SQL 执行超过这个阈值将被记录在日志中。
min_examined_row_limit=100 #慢查询仅记录扫描行数大于此参数的 SQL。
#-----------【binglog】
server_id=1 # mysql服务的ID在主从同步时来标记服务的唯一身份
log-bin=/data/mysql8.0.28/data/mysql-bin # 二进制日志的目录及名称
log_bin_index=/data/mysql8.0.28/data//mysql-bin.index #二进制日志索引文件的目录及名称
binlog-format=ROW # 选择 ROW 模式,基于行复制,binlog记录内容的方式,记录被操作的每一行
expire_logs_days=90 #binlog日志文件保存的过期时间,过期后自动删除,在8.0版本前expire_logs_days的单位为天,最小值为1
binlog_expire_logs_seconds=604800#在MySQL8.0 版本中新增参数binlog_expire_logs_seconds,可以精确到秒,默认值为30天
binlog_rows_query_log_events=on
binlog_cache_size=2M #一般数据库中没什么大的事务,设成1~2M,默认32kb

Redis

仓库地址:https://hub.docker.com/_/redis

docker run -d -p 6379:6379 \
--name redis-6.2 \
--restart=always \
-v /data/docker/redis:/data \
redis:6.2-alpine \
redis-server \
/data/redis.conf --appendonly yes

挂载/data目录,指定配置文件,appendonly开其AOF持久化。

Consul

仓库地址:https://hub.docker.com/_/consul

docker run -d -p 8500:8500 \
-v /data/docker/consul/data:/consul/data \
--name consul \
consul:1.15.4 \
agent -server -ui -node=n1 -bootstrap-expect=1 -client=0.0.0.0

agent 表示启动一个Agent进程
-server 表示该节点类型为Server节点(下面会讲解集群中的节点类型)
-ui 开启网页可视化管理界面
-node 指定该节点名称,注意每个节点的名称必须唯一不能重复!上面指定了第一台服务器节点的名称为n1,那么别的节点就得用其它名称
-bootstrap-expect 最少集群的Server节点数量,少于这个值则集群失效,这个选项必须指定,由于这里是单机部署,因此设定为1即可
-advertise 这里要指定本节点外网地址,用于在集群时告诉其它节点自己的地址,如果是在自己电脑上或者是内网搭建单节点/集群则不需要带上这个参数
-client 指定可以外部连接的地址,0.0.0.0表示外网全部可以连接

jenkins

仓库地址:https://hub.docker.com/r/jenkins/jenkins

docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /data/docker/jenkins:/var/jenkins_home \
jenkins/jenkins:2.426.1-lts-jdk17
1

评论区