部署安装
centos使用Docker容器方式安装各类软件包
docker部署各种服务
docker安装elasticsearch7.6.2
docker方式安装onlyOffice
使用docker安装部署kibana
Docker常用运维命令
使用docker方式安装mm-wiki,助力技术团队文档开发
docker方式部署springboot应用
Harbor 入门与上手
修改或增加已运行的 Docker 容器端口映射
docker安装mysql
docker方式安装gitlab
Docker 安装MQTT服务 mosquitto2.0版本
centos编译方式安装
centos通过编译的方式安装python3.8
centos绿色安装包
Centos7安装NodeJs
centos7环境下部署yapi v1.9.2版本
centos7.9安装nacos2.2.3
Centos下安装Node14
centos中安装go
centos通过yum方式安装的软件包
centos 安装supervior
centos 安装 jenkins 2.452.1最新版本
centos7安装docker-20.10.9版本
数据库
在centos7下安装PostgreSQL10
mysql 主从搭建
windows安装oracle11g的一些后续注意事项
centos7.9安装oracle11g
镜像加速
nginx
在两台centos上面安装nginx+keepalived实现主备
linux常用命令
jenkins部署前后端服务几种常见场景配置说明
GIT
K8S
kubeadm init在初始化master节点的遇到的问题梳理
K8S部署+kuboard可视化界面完整说明
k8s+kuboard+harbor部署springboot的一些说明
其他
centos7使用miniconda方式安装飞浆OCR
frp内网穿透
java全平台安装
本文档使用 MrDoc 发布
-
+
首页
docker部署各种服务
# mysql5.7安装 ### 安装 Mysql 5.7 docker镜像 ~~~ docker pull mysql:5.7 ~~~ ### 本地创建mysql的映射目录 ~~~ mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf ~~~ 或者放到自己的自定义目录下面mydata ~~~ mkdir -p /mydata/mysql/data /mydata/mysql/logs /mydata/mysql/conf ~~~ 在/mydata/mysql/conf中创建 *.cnf 文件(叫什么都行) ~~~ cd /mydata/mysql/conf touch my.cnf ~~~ 创建容器,将数据,日志,配置文件映射到本机 ~~~ docker run -p 3306:3306 --name mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -v /mydata/mysql/logs:/logs -v /mydata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 ~~~ > -d: 后台运行容器 > > -p 将容器的端口映射到本机的端口 > > -v 将主机目录挂载到容器的目录 > > -e 设置参数 ### 启动mysql容器 ~~~ docker start mysql ~~~ 测试一下:  ### 随docker服务自启动 配置mysql容器随docker服务自动启动,最后一个mysql指的是容器的名称或者是容器的ID ``` docker update --restart=always mysql ``` 或者 ``` docker update --restart=always {容器的ID} ``` ### 补充说明 默认在centos下面安装 的mysql是对数据库表名大小写敏感的,这有时候会产生致命的问题,所以配置成大小写不敏感 修改my.cnf文件 添加参数: ~~~ lower_case_table_names=1 ~~~ 完整配置如下: ~~~ [mysqld] skip-grant-tables port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE lower_case_table_names=1 ~~~ # mongodb 安装 ### 拉取镜像 默认下载 最新 latest版本。 ~~~ docker pull mongo ~~~ ### 启动容器 ~~~ docker run --name mongodb -v /mydata/mongo:/data/db -p 27017:27017 -d mongo ~~~ ### 进入容器内部 ~~~ docker exec -it mongodb bash ~~~ ### 开启远程连接 >i 在容器内部操作 ~~~ #更新源 apt-get update #安装 vim apt-get install vim #修改 mongo 配置文件 vim /etc/mongod.conf.orig ~~~ 将其中的bindIp: 127.0.0.1注释掉# bindIp: 127.0.0.1 或者改成bindIp: 0.0.0.0 即可开启远程连接 下载一个 Robo 3T 工具,连接测试。  成功连接  ### 命令行操作 >i 容器内操作 创建用户 ~~~ #进入 `mongo` mongo #进入 admin 的数据库 use admin #创建管理员用户 db.createUser( { user: "root", pwd: "752700", roles: [ { role: "root", db: "admin" } ] } ) #建立数据库 use demo; #先写入一条数据 db.info.save({name: 'test', age: '22'}) #查看写入的数据 db.info.find(); ~~~ # redis5 安装 ### 拉取镜像 ``` docker pull redis:5.0.5 ``` ### 准备配置文件 获取redis5.0.5版本的配置文件redis.conf 在官网下载完整的安装包,下载地址如下: http://download.redis.io/releases/redis-5.0.5.tar.gz 打开压缩包,找到redis.conf文件。  根据实际的情况修改这个配置文件: ``` bind 127.0.0.1 #注释掉这部分,使redis可以外部访问 daemonize no #用守护线程的方式启动 一定要设置成no,否则启动失败 requirepass {你的密码} #给redis设置密码,去掉大括号,替换成你自己的密码 appendonly yes #redis持久化 默认是no tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 ``` 创建本地与docker映射的目录,即本地存放的位置 ``` mkdir /mydata/redis mkdir /mydata/redis/data ``` 把刚刚修改好的redis.conf文件放置到 /mydata/redis 目录下面。 ### 创建容器并启动 ``` sudo docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis:5.0.5 redis-server /etc/redis/redis.conf --appendonly yes ``` 参数解析: > -p 6379:6379: 把容器内的6379端口映射到宿主机6379端口,前面是主机端口,后面是容器内部端口 > -v /mydata/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中 > -v /mydata/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份 > redis-server /etc/redis/redis.conf: 这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动 > –appendonly yes: redis启动后数据持久化 > -d 后台方式运行 > redis:5.0.5 启动容器所使用到的镜像 查看日志 ``` docker logs redis ``` 看到如下界面,代表启动成功了。  ### 开启远程访问 redis.conf默认的配置,是只是在本机进行访问,修改以下的两个参数,开启远程访问。 ``` bind 127.0.0.1 改成 # bind 127.0.0.1 # 将本机访问保护模式设置no protected-mode yes 改成 protected-mode no ``` 修改之后重启docker生效。 ``` docker restart redis ``` 其他重要参数说明: **密码配置:** ``` requirepass {密码} ``` **设置Redis最大内存,一般推荐Redis设置内存为最大物理内存的四分之三,单位是字节(byte),这里设置为1GB** ``` maxmemory 1073741824 ``` ### 配置随docker服务进行自启动 ``` docker update --restart=always redis ``` # MinIO安装 - 下载MinIO的Docker镜像; ```bash docker pull minio/minio ``` - 下载完成后使用如下命令运行MinIO服务,注意使用`--console-address`指定MinIO Console的运行端口(否则会随机端口运行): ```bash docker run -p 9090:9000 -p 9001:9001 --name minio \ -v /mydata/minio/data:/data \ -e MINIO_ROOT_USER=minioadmin \ -e MINIO_ROOT_PASSWORD=minioadmin \ -d minio/minio server /data --console-address ":9001" ``` - 运行成功后就可访问MinIO Console的管理界面了,输入账号密码`minioadmin:minioadmin`即可登录,访问地址:http://192.168.3.101:9090  # Nginx安装 ### 1 拉取镜像: ~~~ docker pull nginx:1.15 ~~~ ### 2 运行一次容器 ~~~ docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.15 ~~~ ### 3 将容器内的配置文件 复制到 宿主机 ~~~ docker container cp nginx:/etc/nginx /mydata/nginx/ ~~~ ### 4 修改宿主机文件夹的名称: ~~~ cd /mydata/nginx/ mv nginx conf ~~~ ### 5 终止容器 ~~~ docker stop nginx docker rm nginx ~~~ ### 6 使用如下的命令再次启动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.15 ~~~ 或者使用docker-compose的方式,一步到位: docker-compose.yml和logs html conf处于同一目录。 使用 ~~~yml version: '3.0' services: nginx: restart: always image: nginx:1.15 ports: - 10082:10082 volumes: - ./conf:/etc/nginx - ./logs:/var/log/nginx - ./html:/usr/share/nginx/html ~~~ docker-compose常用命令: ~~~ docker-compose up -d 创建容器并启动 docker-compose down 停止容器并删除容器 docker-compose start 容器启动 docker-compose stop 容器停止 docker-compose ps 查看容器进程 docker-compose logs 查看日志 ~~~ ## 安装portainer $ `docker pull portainer/portainer` $ `docker volume create portainer_data` $ `docker run --name portainer --restart always -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer` * 安装portainer/portainer-ce:2.11.1 $ `docker pull portainer/portainer-ce:2.11.1` $ `docker volume create portainer_data ` $ `docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.11.1` ## portainer1 docker pull portainer/portainer $ docker volume create portainer_data $ docker run --name portainer \ --restart always -d -p 8000:8000 -p 9000:9000 -v \ /var/run/docker.sock:/var/run/docker.sock -v \ portainer_data:/data portainer/portainer ``` docker run -d # 后台运行容器 -p 9000:9000 # 默认9000端口,映射到宿主机,通过本地地址访问 --name prtainer-test # 指定容器名 --restart=always # 设置自动启动 -v /opt/portainer:/data # 保存portainer数据到宿主机 -v /var/run/docker.sock:/var/run/docker.sock # 单机方式必须指定 portainer/portainer ``` ## 安装rabbitmq --name 是 容器别名,将 宿主机 5672端口映射到 容器内5672,and 端口15672端口映射到 容器内15672 端口,访问宿主机端口的时候会映射到对应容器端口, -d 表示后台运行。 ~~~ docker pull rabbitmq:3.12-management docker run --privileged=true --name my-rabbit -p 5672:5672 -p 15672:15672 -d rabbitmq:3.12-management ~~~ 安装rabbitmq_mqtt插件 ~~~ docker exec -it my-rabbit /bin/bash rabbitmq-plugins enable rabbitmq_mqtt ~~~ 重启一下服务: ~~~ rabbitmqctl stop && rabbitmq-server & ~~~ 这条命令会停止RabbitMQ服务并重新启动,使插件生效。 把mqtt的1883端口也映射出来。 docker run --privileged=true --name my-rabbit -p 5672:5672 -p 1883:1883 -p 15672:15672 -d rabbitmq:3.12-management ## 安装redis `docker run -d --name redis -p 6379:6379 redis --requirepass "password"` ## 安装nacos * 拉取镜像:`docker pull nacos/nacos-server:2.0.0` * 运行镜像:`docker run --name my-nacos -e MODE=standalone -d -p 8848:8848 -p 9848:9848 -p 19849:9849 nacos/nacos-server:2.0.0` ## 安装Sentinel * 拉取镜像:`docker pull bladex/sentinel-dashboard` * 运行镜像:`docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard` * dashboard 地址:http://localhost:8858 (默认端口为8080) * 账号密码都为:sentinel ## 安装kibana ``` docker run --name kibana -p 15601:5601 \ -e ELASTICSEARCH_HOSTS=http://10.168.1.216:9200 \ -v /mydata/kibana/config:/usr/share/kibana/config \ -d kibana:7.6.2 ``` ## 安装nginx `docker pull nginx:1.10` 临时建一个容器,只为获取里面的配置文件 ``` docker run -p 8080:80 --name my-nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.10 ``` 借用容器里的配置文件,把配置文件从容器里 复制到主机目录下。 `docker container cp my-nginx:/etc/nginx /mydata/nginx/` 进行主机的配置目录 `cd /mydata/nginx` 改个文件夹名 `mv nginx conf` 过河拆桥,把刚刚建的容器给销毁 `docker stop my-nginx` `docker rm my-nginx` 再次建立一个新的容器 ``` docker run -p 8080:80 --name my-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 ``` ## 安装jenkins `docker pull jenkins/jenkins:lts` ``` docker run -p 18080:8080 -p 50000:5000 --name jenkins \ -u root \ -v /mydata/jenkins_home:/var/jenkins_home \ -d jenkins/jenkins:lts ``` ## 安装gitlab `docker pull gitlab/gitlab-ce` ``` docker run --detach \ --publish 10443:443 --publish 11080:80 --publish 11022:22 \ --name gitlab \ --restart always \ --volume /mydata/gitlab/config:/etc/gitlab \ --volume /mydata/gitlab/logs:/var/log/gitlab \ --volume /mydata/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest ``` ## 安装minio: `docker pull minio/minio` ``` docker run -p 19000:9000 -p 19001:9001 --name my-minio -d --restart=always \ -e "MINIO_ACCESS_KEY=minio" \ -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio -d minio/minio server /data --console-address ":9000" --address ":9001"; ``` ## 安装 kkFileView `docker run -p 8012:8012 --name kkfileview -d keking/kkfileview` ## 安装Superset1.4.1 `docker pull amancevice/superset:1.4.1` ``` docker run --name superset -u 0 -d -p 8088:8088 \ -v /opt/module/docker/superset/conf:/etc/superset \ -v /opt/module/docker/superset/data:/var/lib/superset \ amancevice/superset:1.4.1 ``` `docker exec -it superset superset db upgrade` `docker exec -it superset superset fab create-admin` `docker exec -it superset superset init` `docker exec -it superset superset run --with-threads --reload --debugger`
superadmin
2024年8月13日 10:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码