1.下载mysql5.7镜像
docker run \
--restart=always \ # 在容器退出时总是重启容器
-itd --name mysql5.7 \ #不进入持续运行
-p 3306:3306 \ # 端口映射,前者为暴露出的端口,后者为容器里的端口
-e MYSQL_ROOT_PASSWORD=123456 \ #以命令行的方式,所要执行的sql语句
-e MYSQL_USER=wzz -e MYSQL_PASSWORD=123456 \ #创建Wzz用户,设置密码
-v /opt/mysql:/var/lib/mysql mysql:5.7 \ #本机与容器文件共享,前者为主机目录,后者为容器目录
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
–restart选项,参数能够使我们在重启docker时,自动启动相关容器。
Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
2.在已启动容器的情况下,终端执行命令
docker exec -it mysql:5.7 mysql -uroot -p123456 -e "show databases;use hgt;show tables;"
docker exec -it 1a983959077b mysql -uroot -p123456 -e "source initdb.sql"