这么久了我还是没有记住这个长长的命令,所以今晚就记录一下,以后就可以直接复制运行了
docker 中 MySQL运行
1、直接开启使用命令 systemctl start docker 先运行 docker 容器,然后在直接如下命令运行 MySQL 镜像:
docker run -p 3306:3306 --name mysql_name \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:tag(image_ID)
你要是要对命令进行修改就不可以直接复制,因为直接粘贴是不可以对上一行进行修改的,命令参数解释:
-p :端口映射(宿主机:镜像)
-v :表示docker 容器中的相关镜像的文件映射到宿主机(实际的物理机主机)外部文件。这样相关镜像的配置文件、日志文件、数据文件都不用在MySQL镜像里操作了,只需要操作在 docker 容器之外的宿主机上映射镜像文件。操作宿主机上的文件即可影响到 docker 容器里相关的镜像。
-e : MySQL镜像的密码(必须写的参数);=:后面是当前mysql 的密码
-d :表示在后台运行
–name :对当前运行的镜像起一个别名,非必写,不写系统会自动产生一个名字
\ :换行
上面命令执行完成之后,就会在 Linux 根目录下创建相应的目录。
2、进入 mydata 文件下的conf 文件创建 mysql 的配置文件并添加相应的文件内容,下次启动就可以以这个配置文件作为启动文件了。
直接复制以下文件内容,粘贴到 my.conf 文件中。
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
3、重启刚刚运行那个MySQL镜像。
docker restart mysql_name(运行时mysql的ID)
以上就是 MySQL 镜像的运行。关闭删除镜像,详细见这篇文章。
docker 中 redis 运行
1、由于系统识别问题会和我们指定的不一致,所以我们在第一次运行 redis 时要注意是得先手动创建 redis 的 conf 文件,命令:
2、为了防止数据丢失,我们先开启redis 的 RDB 持久化机制。
appendonly yes
3、直接运行以下命令,运行 redis
docker run -p 6379:6379 --name redis_name \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
有用点个关注,手留余香!