Docker 环境搭建

Docker 环境搭建

简介

Docker 是一种开源项目,用于将应用程序自动部署为可在云或本地运行的便携式独立容器。 Docker 也是一家公司,它与云、Linux 和 Windows 供应商(包括 Microsoft)协作,致力于推广和发展这项技术。

CentOS 8中安装docker

https://www.devzhou.cn/archives/5de12cecbc503b05701edbbb

运行portainer

docker pull portainer/portainer
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer

运行mysql

创建文件夹

mkdir -p /data/mysql

直接开跑

docker run --restart=always -d -p 3306:3306 -v /data/mysql:/var/lib/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 -h %  --name mysql mysql:5.7

运行nginx

docker pull nginx
docker run -d -p 80:80 --restart=always --name nginx nginx

挂载配置文件到宿主机

mkdir -p /data/nginx/{conf,conf.d,html,logs}
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker stop nginx
docker rm nginx
docker run -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf --restart=always --name nginx nginx

若需要将conf.d中的文件也挂载出来,则用下面命令替换上面的cprun命令

docker cp nginx:/etc/nginx/conf.d/default.conf /nginx/conf.d/default.conf
docker run -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf --restart=always --name nginx nginx

运行redis

docker pull redis
mkdir -p /data/redis
docker run --name redis -d --restart=always -p 6379:6379 redis -v /data/redis:/data --appendonly yes --requirepass "redis123456aB"

--appendonly yes 开启持久化
--requirepass 添加密码

运行rabbitmq

mkdir -p /data/rabbitmq
docker pull docker pull rabbitmq:3.7.7-management
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=always -v /data/rabbitmq:/var/lib/rabbitmq --hostname rabbit-server rabbitmq:3.7.7-management

搭建DNS

mkdir -p /data/dns
vim /data/dns/dnsmasq.conf

写入以下配置

log-queries
no-resolv
# 配置dns server
server=1.2.4.8
server=114.114.114.114
strict-order
# 添加解析
server=/company/10.0.0.1
address=/t.hr/10.110.74.6

运行dns

docker run --name dnsmasq -d -p 53:53/udp -p 5380:8080 -v /data/dns/dnsmasq.conf:/etc/dnsmasq.conf --log-opt "max-size=100m" -e "HTTP_USER=admin"  -e "HTTP_PASS=admin" --restart always jpillora/dnsmasq