docker 容器使用另一个容器的mysql或mariadb
一、启动mariadb容器
下载镜像:docker pull mariadb:latest
启动mariadb容器:
docker run -d --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw mariadb:latest
例如:docker run -d --name mariadb -p 127.0.0.1:3306:3306 --env MARIADB_USER=root --env MARIADB_PASSWORD=111111 --env MARIADB_ROOT_PASSWORD=111111 mariadb:latest
-p 绑定端口,可以让宿主机访问。
启动后,可以使用docker exec -it mariadb bash 进入容器,查看mariadb是否可以连接:mysql -uroot -p 密码,如果可以连说明成功了,如下图:
二、启动别的容器,去连上面的mariadb
下载一个centos镜像,我用的是centos7.6:docker pull lambdaexpression/centos7.6.1810
启动容器时,要用--link参数去绑定上面的mariadb容器: docker run -d --privileged --link mariadb --name centos7.6 -it 'lambdaexpression/centos7.6.1810' /usr/sbin/init
容器启动成功后,可以进入这个容器:docker exec -it centos7.6 bash
安装mysql的客户端:yum installmysql-community-client ,不同的系统命令不同。
客户端安装成功后,可以连接mariadb了: mysql -h mariadb(容器名称) -p, 出现下图则连接成功: