运行两个Mysql docker容器

我正在试图为master-> slave复制运行两个不同的mysql容器。 我从build立和运行主开始:

docker build --no-cache -t mysql-master . docker run -it --name mysql-master -h mysql-master -p 3306:3309 mysql-master /bin/bash 

哪些工作正常,并正确运行容器。 我可以得到尽可能多的信息来build立第二个容器,mysql-slave。 当我运行以下命令:

 docker build --no-cache -t mysql-slave . docker run -it -p 3308:3309 mysql-slave --name mysql-slave --link mysql-master:mysql-slave /bin/bash 

mysql-master容器断开连接。 我不知道为什么,但我相信与容器有某种冲突,我可能不知道。 任何人都可以提出什么docker命令我应该运行,使两个容器可以同时运行?

我有一种感觉,这是因为两个容器都试图访问相同的端口:

 root@test2net:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1942b5e1f69 mysql-slave:latest "/tmp/makeSlaveSQL.s 40 seconds ago Up 40 seconds 3306/tcp, 0.0.0.0:32773->3307/tcp mysql-slave c9a7632d9cae mysql-master:latest "/tmp/makeMasterSQL. 2 minutes ago Up 2 minutes 0.0.0.0:32769->3306/tcp mysql-master 

有没有一种方法可以将每个容器明确地转换到特定的端口。 我已经尝试在Dockerfile中使用EXPOSE, -p指定不同的端口,但是从上面可以看到,mysql-slave仍然绑定到端口3306。