docker下载命令

 重启docker

搜索aliyun 然后登陆,点开控制台

点击产品与服务

 点击容器镜像服务,再点击镜像加速器

 输入命令行就可以了

 下载mysql:

sudo docker pull mysql:8.0.20

 建议这样写,我弄了快两天得出来的经验

第一种:docker run -p 3306:3306 -it -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql-files -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=abc --name mysql mysql:8.0.20   (不在后台运行)

第二种:docker run -p 3306:3306 -dit -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql-files -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:8.0.20  (容器在后台运行)

docker exec -it mysql02 /bin/bash  进入交互模式。可以登录mysql了

docker run   表示启动一个容器

-p      表示端口映射:前一个为主机端口地址,后一个为容器端口地址  因为docker容器也相当于一个linux虚拟机、

-it    伪终端交互模式,如果不加这个创建好了容器很快容器就会自动停止,被这个坑了好久

-dit    表示进入后台运行

-v    表示将主机目录挂载到容器对应目录,可以看做是windows中的快捷方式,但是通过修改挂载目录的文件也可以修改容器中的文件

-e    表示初始化root密码

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

 mysql配置

[client]
default-character-set=utf8
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#修改大小写敏感
skip-grant-tables
lower_case_table_names=1
#mysql5.7以后的不兼容问题处理
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#设置时区
default-time_zone='+8:00'

 docker  启动redis容器:

mkdir -p /mydata/redis/conf  //创建外部目录

touch /mydata/redis/conf/redis.conf  //创建文件

docker run -p 6379:6379  --name myredis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf  -dit redis redis-server /etc/redis/redis.conf  //服务器已经打开了dit redis redis-serve

打开redis.conf   添加appendonly yes  //添加持久化

docker exec -it myredis redis-cli  //打开客户端

原文地址:https://www.cnblogs.com/guosai1500581464/p/13432407.html