一、前言
本博客用于记录常用的docker启动命令,便于以后要用时可以直接抄。
二、常用服务安装
现在docker很火,什么服务都可以往docker里放,那么将一些常见的服务放在里面就没什么奇怪的了。
2.1、mysql
需要先下载个mysqld.cnf放到linux主机上去。
这里给出来:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysql]
default-character-set = utf8mb4
[mysql.server]
default-characdoter-set = utf8mb4
[mysqld_safe]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
[mysqld]
#最大临时表空间为2G
innodb_temp_data_file_path=ibtmp1:12M:autoextend:max:10G
skip-name-resolve
event_scheduler=ON
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=128M
先创建映射目录,
mkdir -p /data/mysql/data
mkdir -p /data/mysql/logs
docker run -p 3306:3306 --name mysql -v /data/mysql/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro --restart=always -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
后面常常跟着权限赋予的操作,一般就是开启远程访问权限啥的。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
update user set host='%' where user='root' and host='localhost';
给出一个mysql.conf
2.2、redis
提前准备redis.conf,需要手动修改其中的requirepass等配置信息。
docker run -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
2.3、minio
直接上命令,9005对应9005,9006对应9006,如果是9000或者9001,那么也要相应的改了。
docker run --name minio -p 9005:9005 -p 9006:9006 -e "MINIO_ROOT_USER=root" -e "MINIO_ROOT_PASSWORD=12345678" -v /data/minio/data:/data -v /data/minio/config:/root/.minio minio/minio server /data --console-address ":9006" --address ":9005"
2.4、mariadb
mariadb本质上是和mysql一样的关系型数据库,没什么牛逼的。
docker run -p 3309:3309 -v /data/mariadb/data:/data -e MYSQL_ROOT_PASSWORD=xxx --name mariadb -d --restart unless-stopped docker.io/mariadb:latest /usr/sbin/init
2.5、tidb
一种分布式数据库,直接给出启动命令。
docker run --name tidb -d -v /data/tidb/data:/tmp/tidb --privileged=true -p 4000:4000 -p 10080:10080 pingcap/tidb:latest
【未完待续】