如何给容器指定一个固定 IP 地址,而不是每次重启容器 IP 地址都会变?
答:使用以下命令启动容器可以使容器 IP 固定不变
$ docker network create -d bridge --subnet 172.27.0.0/16 my-net
$ docker run --network=my-net --ip=172.27.0.X -itd --name=my-container busybox
--restart always 启动docker默认启动
非root用户使用docker命令
添加docker组
$ sudo docker groupadd docker
将用户加入组
$ sudo gpasswd -a user group
安装zookeeper
$ docker run -d --name zookeeper --network=my-net --ip=172.27.0.2 -p 2181:2181 zookeeper
对应端口号:2181 ,2888, 3888
安装kafka
$ docker run -d --name kafka -p 9092:9092 -e KAFKA_ZOOKEEPER_CONNECT=172.27.0.2:2181 -e KAFKA_ADVERTISED_HOST_NAME=172.27.0.3 --network=my-net --ip=172.27.0.3 wurstmeister/kafka
安装mysql
$ docker volume create --name mysql-data
$ docker run -d --name mysql -v mysql-data:/var/lib/mysql -p 3306:3306 --network=my-net --ip=172.27.0.4 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.20
安装redis
$ docker run -d --name redis --network=my-net --ip=172.27.0.5 -p 6379:6379 redis
安装zkui zookeeper可视化界面
docker run -d --name zkui -p 9090:9090 -e ZKUI_ZK_SERVER=172.27.0.2 :2181,172.27.0.2 :2888,172.27.0.2 :3888 --network=my-net --ip=172.27.0.6 qnib/zkui
安装 mongodb
docker volume create --name mongo-data
docker run -d --name mongo --network my-net --ip 172.27.0.8 -p 27017:27017 -v mongo-data:/data/db mongo
安装 kafka-manager kafka 可视化界面
docker volume create kafka-manager
docker run -itd --name kafka-manager -p 9000:9000 -e ZK_HOSTS="172.27.0.2:2181" --network=my-net --ip=172.27.0.9 -e APPLICATION_SECRET=letmein sheepkiller/kafka-manager
修改默认存储位置(软链方式)
docker 原存储位置 /var/lib/docker,目标存储位置 /media/xxx/docker
1. 先将目录移动 mv /var/lib/docker /media/xxx
2. 创建软链 ln -s /media/xxx/docker /var/lib
空间清理
docker system df命令,类似于Linux上的df命令
docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了……所以使用之前一定要想清楚吶。