介绍
服务器经常会部署不同的镜像进行测试工作,而服务器创建快照的个数有限,所以可能还是需要重头构建一个镜像,下面来看看服务器镜像一的构建吧,该镜像包含了Redis,Kafka,MySQL,Nacos镜像容器
安装Docker
如果有需要卸载旧Docker
#停止所有容器
docker stop $(docker ps -a -q)
#删除所有容器
docker rm $(docker ps -aq)
#删除所有镜像
docker rmi -f $(docker images -qa)
#删除旧Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
更新Yum数据源
sudo yum -y install epel-release
安装新Docker
#安装Docker
yum install docker -y
#启动Docker
service docker start
#停止Docker
service docker stop
#配置Docker镜像加速器
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
#重启Docker
service docker restart
#查看Docker运行状态
systemctl status docker
安装Nacos
docker run --env MODE=standalone --name nacos -d \
--privileged=true \
-p 8848:8848 docker.io/nacos/nacos-server
安装MySQL
docker run -p 3306:3306 --name mysql8.0 \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
#进入容器
docker exec -it mysql8.0 bash
#输入密码登录MySQL
mysql -uroot -p
安装Kafka
#安装zookeeper
docker run -d --name zookeeper -p 2181:2181 \
--privileged=true \
-t wurstmeister/zookeeper
#安装kafka
docker run -d --name kafka --publish 9092:9092 --link zookeeper \
--privileged=true \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=121.5.160.142 \
--env KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka
#进入容器
docker exec -it kafka /bin/sh
#进入命令行目录
cd /opt/kafka/bin/
#创建主题
./kafka-topics.sh --create --zookeeper 121.5.160.142:2181 \
--replication-factor 1 --partitions 1 --topic kafka
#查看主题
./kafka-topics.sh --zookeeper 121.5.160.142:2181 \
--describe --topic kafka
#创建生产者
./kafka-console-producer.sh --broker-list 121.5.160.142:9092 --topic kafka
安装Redis
docker run -itd --name redis -p 6379:6379 \
--privileged=true \
-v /redis/data:/data --restart always redis \
--appendonly yes --requirepass "psd"
安装Flink
docker pull flink
mkdir -p docker/flink
vim /docker/flink/docker-compose.yml
docker-compose
version: "2.1"
services:
jobmanager:
image: flink
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
安装docker-compose
yum install docker-compose
docker-compose -version
启动
docker-compose up -d
docker-compose down
IP:PORT访问