docker 安装mysql

摘要:
-dmysql#进入容器dockerexec-itmysqlbash#登录mysqlmysql-uroot-pALTERUSER'root'@'localhost'IDENTIFIEDBY'Lzslov123!

1.下载镜像文件mysql 默认下载最新版本源

docker pull mysql

2.docker search mysql 可以查看mysql 源

docker 安装mysql第1张

3.查看docker image :

docker images |grep mysql

4.检查容器存在情况:

docker ps

[root@hostuser dockerdir]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2d855cae15b mysql "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp mysql2

4.docker logs containername/containerid

docker 安装mysql第2张

5.创建容器并指定port,由于本机docker 已经安装了一个会出现conflinct container ,解决方案删除已经存在的mysql container根据提示 docker rm containerid

docker 安装mysql第3张

删除指令

docker rm d17fb872234815377476a92236269b01e9448de207e0a4c6e69064007ad60fa1

#启动docker run --name mysql2 -p 3307:3307-e MYSQL_ROOT_PASSWORD=Lzslov123!-d mysql
#进入容器docker exec-it mysql bash

#登录mysqlmysql -u root -p
ALTER USER 'root'@'localhost'IDENTIFIED BY 'Lzslov123!';
#添加远程登录用户CREATE USER 'liaozesong'@'%'IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';GRANT ALL PRIVILEGES ON *.*TO 'liaozesong'@'%';

运行容器

  • 使用命令:docker run --name container-name:tag -d image-name
  1. --name:自定义容器名,不指定时,docker 会自动生成一个名称
  2. -d:表示后台运行容器
  3. image-name:指定运行的镜像名称以及 Tag

docker 安装mysql第4张

docker 安装mysql第5张端口映射

使用命令:docker run --name container-name:tag -d -p 服务器端口:Docker 端口 image-name
--name:自定义容器名,不指定时,docker 会自动生成一个名称
-d:表示后台运行容器
image-name:指定运行的镜像名称以及Tag
-p 表示进行服务器与 Docker 容器的端口映射,默认情况下容器中镜像占用的端口是 Docker 容器中的端口与外界是隔绝的,必须进行端口映射才能访问
服务器防火墙先开放了 8080、8090 端口,否则防火墙不开放端口的话,从其它电脑也是无法访问服务器的
然后 运行了 两个容器,容器名称分别指定为 "myTomcat1"、"myTomcat2"、两个容器中都是同一个 docker.io/tomcat:8.5.32 镜像
两个容器都指定了端口映射,分别是8080、8090 ,都会转发到 Docker 容器内部

免责声明:文章转载自《docker 安装mysql》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WordPress函数the_tags获取文章标签使用方法解析[Linux环境编程] TCP通信与多线程编程实现“多人在线聊天室”下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker “no space left on device”问题定位解决

在paas环境上使用docker加载镜像的时候出现了如下问题 第一反应应该是存储镜像的路径磁盘满了 docker info查看docker的根路径,可以看到为/opt/docker: 查看/opt/docker的磁盘占用率: 从上述可知docker的磁盘并没有占用满,怀疑是inode占用满导致的,查看/opt的inode占用率,发现inode用尽...

(整理)MySQL_REHL6.5 安装MySQL5.5

1 根据系统选择Mysql版本 https://dev.mysql.com/downloads/mysql/5.5.html?os=31&version=5.1 在命令行的方式下,REHL/Centos的yum在线安装需要账号,因此采用下载tar包的方式来安装。 2 删除原系统的mysql 输入Shell 命令,查看是系统否已安装mysql:r...

Structure needs cleaning(结构需要清理)解决

现象:在对docker容器进行删除或文件时提示无法删除,结构需要清理 解决方法: 1.docker容器: 停止docker服务,卸载文件系统,进行文件修复,由于使用的是ext4格式,所以使用 fsck.ext4 这里的挂载目录是 /dev/mapper/dockervg-dockerlv ,完整修复命令为 fsck.ext4 /dev/mapper/doc...

mysql8 安装配置教程

第一步 下载安装包 MySQL 是甲骨文(Oracle)公司产品,可以到官网上下载 MySQL: 官网下载地址:https://dev.mysql.com/downloads/mysql/ 如果嫌弃官网下载太慢,可以百度其他软件下载网站。 下载 的 MySQL 压缩包是免安装的,找个没有空格和中文路径的目录直接解压即可。 第二步 配置 my.ini 在解...

MySql中delimiter的作用是什么?

这个命令与存储过程没什么关系吧。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。如输入下面的语句mysql> select * from test_table;然后回车,那么MySQL将立即执行该...

Datax中mysql无法连接上的问题(因为版本问题)

我linux上的mysql是8.0版本的,但是datax中的JDBC是5.1版本因此出错,进入datax的pulgin文件夹中把writer和reader文件加下的mysql对应的文件下的libs中换成8.0版本的JDBC,原先的JDBC直接删除就可以。...