# docker 给容器指定 ip

查看网络模式

1
docker network ls

创建新的 bridge 网络

1
docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1

启动容器时 通过–network=bridge 网络名称 –ip 指定 ip

查看容器 ip

docker inspect 容器名称或 id

创建集群 docker 命令备份

1
2
3
4
5
6
7
8
9
10
docker run -it --name mysql-master -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v E:/mysql/master/conf/my.cnf:/etc/mysql/my.cnf -v E:/mysql/master/data:/var/lib/mysql -v E:/mysql/master/logs:/var/log/mysql -d --restart=always --network=mynet --ip 172.18.12.1 mysql:5.7
docker run -it --name mysql-master1 -p 3318:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v E:/mysql/master1/conf/my.cnf:/etc/mysql/my.cnf -v E:/mysql/master1/data:/var/lib/mysql -v E:/mysql/master1/logs:/var/log/mysql -d --restart=always --network=mynet --ip 172.18.12.2 mysql:5.7
docker run -it --name mysql-slave -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v E:/mysql/slave/conf/my.cnf:/etc/mysql/my.cnf -v E:/mysql/slave/data:/var/lib/mysql -v E:/mysql/slave/logs:/var/log/mysql -d --restart=always --network=mynet --ip 172.18.12.3 mysql:5.7
docker run -it --name mysql-slave1 -p 3319:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v E:/mysql/slave1/conf/my.cnf:/etc/mysql/my.cnf -v E:/mysql/slave1/data:/var/lib/mysql -v E:/mysql/slave1/logs:/var/log/mysql -d --restart=always --network=mynet --ip 172.18.12.4 mysql:5.7
docker run -it -p:8166:8066 --name mycat1 -p 9166:9066 -v E:/mysql/mycat1/logs:/mycat/logs -v E:/mysql/mycat1/conf:/mycat/conf -d --network=mynet --ip 172.18.12.6 mycat:1.6.5
docker run -it -p:8066:8066 --name mycat -p 9066:9066 -v E:/mysql/mycat/logs:/mycat/logs -v E:/mysql/mycat/conf:/mycat/conf -d --network=mynet --ip 172.18.12.5 mycat:1.6.5
docker run -d --name haproxy -p 8888:8888 -p 13306:3306 --network=mynet --ip 172.18.12.7 -v e:/mysql/haproxy:/usr/local/etc/haproxy haproxy:1.9.6
docker run --name redis-6379 -p 6379:6379 --network=mynet --ip 172.18.12.10 --privileged=true -v E:/mysql/redis/sentinel.conf:/sentinel.conf --restart=always -d daocloud.io/library/redis
docker run --name redis-6380 -p 6380:6379 --network=mynet --ip 172.18.12.11 --privileged=true -v E:/mysql/redis/sentinel.conf:/sentinel.conf --restart=always -d daocloud.io/library/redis
docker run --name redis-6381 -p 6381:6379 --network=mynet --ip 172.18.12.12 --privileged=true -v E:/mysql/redis/sentinel.conf:/sentinel.conf --restart=always -d daocloud.io/library/redis

mycat dockerfile 备份

1
2
3
4
5
6
7
8
9
10
FROM java:8
USER root
COPY Mycat-server-1.6.5-release-20180122220033-linux.tar.gz /
RUN tar -zxf /Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
ENV MYCAT_HOME=/mycat
ENV PATH=$PATH:${MYCAT_HOME}/bin
WORKDIR $MYCAT_HOME/bin
RUN chmod u+x ./mycat
EXPOSE 8066 9066
CMD ["./mycat", "console"]