首页 > 其他分享 >[Docker]使用Docker开启一个MariaDB服务并在宿主机里访问服务

[Docker]使用Docker开启一个MariaDB服务并在宿主机里访问服务

时间:2023-01-07 10:36:07浏览次数:40  
标签:容器 mariadb 宿主机 mysql docker MariaDB root Docker

先把镜像下载下来

docker pull mariadb

image
从第四行开始就是下载的镜像文件了,因为docker有一个文件分层机制(联合文件系统),所以一个镜像会分成好几个文件。

镜像下载完成之后把容器起起来

docker run --name mariadb01 -p 3344:3306 -e MYSQL_ROOT_PASSWORD=09183165 -v /root/docker/mariadb/data:/var/lib/mysql -d mariadb
  • – name启动容器设置容器名称为mariadb01
  • -p 宿主机端口:容器端口,即设置容器的3306端口映射到主机3344端口,后面我们可以在宿主机里通过这个端口访问docker里的这个mariadb
  • -e MYSQL_ROOT_PASSWORD设置环境变量数据库root用户密码为输入数据库root用户的密码
  • -v 设置容器目录/var/lib/mysql映射到本地目录/root/docker/mariadb/data
  • -d 后台运行容器mariadb并返回容器id

执行完成之后返回了容器的ID
image

然后我们可以用这个ID 进入dockers里:

docker exec -it c9056f447e1a bash

-it 进入容器
-bash 与容器的交互方式,通过bash命令行
或者修改上面的创建容器的命令,让我们可以创建完成之后直接进入容器:

docker run --name mariadb01 -p 3344:3306 -e MYSQL_ROOT_PASSWORD=09183165 -v /root/docker/mariadb/data:/var/lib/mysql -it mariadb bash

这个容器就是一个linux系统,进入之后我们就像正常使用Linux系统一样通过命令行交互就可以了
image

在宿主机里我们可以通过这个命令来连接到docker里的Mariadb里:

mysql -h localhost -P 3344 -uroot -p

3334就是我们前面设置了映射到的宿主机的端口号
image
因为设置了共享的文件目录(/var/lib/mysql),所以该目录下的数据docker都可以访问到。

标签:容器,mariadb,宿主机,mysql,docker,MariaDB,root,Docker
From: https://www.cnblogs.com/kirizi/p/17031121.html

相关文章

  • 轻量级实时容器Docker查看日志工具实践
    轻量级实时容器Docker查看日志工具实践     介绍一款使用了几个月的开源小工具,Dozzle。基于MIT许可,它是一款轻量、简单的容器日志查看工具。其源代码基于GOLANG开发......
  • Docker通过容器生成镜像
    参考地址:https://blog.csdn.net/JineD/article/details/106343404根据镜像启动容器:dockerrun  根据启动容器创建新镜像:dockercommit  将由容器生成的镜像push......
  • docker中启动所有的容器命令
    docker中启动所有的容器命令dockerstart$(dockerps-a|awk'{print$1}'|tail-n+2)docker中关闭所有的容器命令dockerstop$(dockerps-a|awk'{p......
  • docker 与 kubernetes
    最近尝试安装 kubernetes因为墙的问题弄的是焦头烂额,特记录下一.Docker的安装参照官方文档配置yum源为阿里源基本安装就没啥问题 二.cri-dockerd安装因为国内......
  • 使用docker的好处和作用(docker主要功能介绍)
    由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。Docker主要解决环境配置问题,它是一种虚拟化技术,对进......
  • docker部署jenkins
    1、拉取jenkins镜像:dockerpulljenkins:2.60.32、在本地创建Jenkins-home目录:mkdir-p/home/jenkins_home  (-p是指确保目录存在,如果不存在就创建,像没有/home目录的......
  • docker常用命令
    查看镜像dockerimages运行一个镜像dockerrun-p8080:80-dnginx查看正在运行的镜像dockerps停止一个容器的运行(817689e03b44为容器id)dockerstop817......
  • 移植docker容器到一种CPU架构
    docker包含组件docker/      docker-cli/    docker-compose/  docker-containerd/docker-engine/   docker-proxy/编译打包1、.stamp_......
  • Linux +Docker +Nginx 部署代理转发初探
    很多开发人员仅仅只会码代码,如果让开发人员部署一些深入点的东西,或者做负载均衡等,很多开发人员估计就懵逼了,作为一个专业的开发还需要懂一些基本的运维知识;虽然说在互联......
  • docker逃逸汇总
    利用特权模式进行docker逃逸使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行dockerrunprivileged时,Docker容器将被允许访问主机上的所有设备......