docker 实战
vagrant
vagrant init centos/7
vagrant up
vagrant ssh
vagrant reload
开启密码访问权限
vi /etc/ssh/sshd_config
修改 PasswordAuthentication yes/no
重启服务
service sshd restart
基础-工具安装
yum -y install wget
yum -y install vim*
操作防火墙
# 查看防火墙状态
systemctl status firewalld
# 停止防火墙
systemctl stop firewalld
# 禁止开机启动
systemctl disable firewalld
0、安装docker
1、centos 下安装docker
其他系统参照如下文档
https://docs.docker.com/engine/install/centos/
1>、移除以前docker相关包
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2>、配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3>、安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 以下是在安装k8s的时候使用
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
4>、启动
systemctl enable docker --now
5>、配置加速
这里额外添加了docker的生产环境核心配置cgroup
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1、docker 安装mysql
1>、下载镜像文件
docker pull mysql:5.7
2>、创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log.mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
3>、开机自启动
docker update --restart=always mysql
2、docker安装redis
1>、下载镜像文件
docker pull redis
2>、创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
–requirepass 123456
3>、开机自启动
docker update --restart=always redis
4>、测试
docker exec -it redis redis-cli
3、docker安装nacos
1>、下载镜像文件
docker pull nacos/nacos-server
2>、创建实例并启动(开机自起)
mkdir -p /mydata/nacos/init.d /mydata/nacos/logs
docker run -d -p 8848:8848 -e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /mydata/nacos/logs:/home/nacos/logs \
--restart always --name nacos nacos/nacos-server
4>、docker安装 ElasticSearch
1> 、下载镜像文件
docker pull elasticsearch:7.4.2
2>、创建实例并启动
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
3>、设置权限
chmod -R 777 /mydata/elasticsearch/
4>、开机自启动
docker update --restart=always kibana
5>、docker安装Kibana
1>、下载镜像文件
docker pull kibana:7.4.2
2>、创建实例并启动
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.52.10:9200 -p 5601:5601 \
-d kibana:7.4.2
3>、开机自启动
docker update --restart=always kibana
6>、docker安装RabbitMQ
1>、下载镜像文件
docker pull rabbitmq:management
2> 、创建实例并启动
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
3>、开机自启动
docker update --restart=always rabbitmq
7>、docker安装nginx
- 随便启动一个nginx实例,只是为了复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10
- 将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx .
别忘了后面的点 .
- 修改文件名称:mv nginx conf 把这个 conf 移动到/mydata/nginx 下
- 终止原容器:docker stop nginx
- 执行命令删除原容器:docker rm $Containerld
- 创建新的 nginx,执行以下命令
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10