Docker的安装及其常见中间件的部署
基于centos7安装docker(Docker要求CentOS系统的内核版本高于3.10 uname -r 查看内核版本)最好安装7.5以上版本支持k8syum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest
·
Docker部署手册
1.docker安装
基于centos7安装docker(Docker要求CentOS系统的内核版本高于3.10 uname -r 查看内核版本)最好安装7.5以上版本支持k8s
(1) 如果之前下载过需要运行命令卸载
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
(2)安装 Docker-CE 基本环境
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
(3)设置 docker repo 的 yum 位置
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
(4)安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
(5)启动docker
systemctl start docker
(6)停止docker
systemctl stop docker
(7)重启docker
systemctl restart docker
(8)查看docker状态
systemctl status docker
(9)查看防火墙状态 关闭防火墙
systemctl status firewalld systemctl stop firewalld.service
注:远程连接时候如果有防火墙可能会出现网络问题 在开发时可以先关闭防火墙 正式环境更改防火墙网络设置
2.常用命令
(1)基本命令
docker version --------查看docker版本 docker info -------------查看docker详细信息 docker --help -----------查看docker帮助命令
(2)镜像命令
docker pull 镜像名字:版本号 ----------拉取镜像 docker images --------查看镜像 docker rmi 镜像ID -------删除镜像(可以删除多个|最好把对应的容器全部停止删除后进行)
(3)容器命令
docker run [OPTIONS] IMAGE --创建容器并启动 --name=“容器新名字”:为容器指定一个名称 -d:后台运行容器,并返回容器ID,也即启动守护式容器 -i:以交互模式运行容器,通常与-t同时使用 -t:为容器重新分配一个伪输入终端,通常与-i同时使用 -P:随机端口映射 -p:指定端口映射 例如3306:3306
docker start 容器ID ---------启动容器(如果存在容器要用start 不能用run run是创建并启动一个新的容器) docker stop 容器ID ---------停止容器 docker restart 容器ID ------重新启动容器 docker rmi 容器ID ----------删除容器(需要先停止运行在删除) docker ps ---------------------显示正在运行的容器 docker ps -a -----------------显示全部容器 docker exec 容器ID --------进入容器 exit ---------------------------退出并停止容器 Ctrl+p+q --------------------只退出容器,不停止容器 docker logs -f -t --since --tail 容器ID -------查看容器日志
3.MySQL安装部署
(1)拉取MySQL镜像
name:root
password:root
docker pull mysql:8.0.20 ----------(*具体版本根据项目需求更改 如果不指定版本默认拉取最新版*)
(2)查看镜像是否拉取到本地
(3)创建一个新的mysql容器并运行
docker run --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8.0.20 MySQL目录挂载 先创建目录 数据目录 初始化脚本目录 配置目录 /root/mysql/data /root/mysql/conf /root/mysql/init docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.20
(4)查看容器是否运行
docker ps
(5)进入容器内部修改加密方式
注:MySQL8如果不修改加密方式navicat远程连接不到
docker exec -it mysql bash ------------进入容器 mysql -uroot -p ----------------------------连接MySQL ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ------修改 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; --------修改 FLUSH PRIVILEGES; -------------------修改后刷新 use mysql; select host,user from user;
查看 % root 是否存在
(6)远程连接
用navicat远程连接数据库 测试成功 部署完成
4.nginx安装部署
(1)拉取nginx镜像
docker pull niginx ------拉取镜像
(2)创建nginx容器
docker run -d --name nginx -p 80:80 nginx
(3)登录nginx默认页面测试是否运行成功
5.redis安装部署
(1)拉取redis镜像
docker pull redis -------------拉取镜像 docker update redis --restart=alawys---------- 开机自启
(2)创建redis容器
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
(3)实现redis持久化
vi /mydata/redis/conf/redis.conf 进入后添加 appendonly yes Shift+zz 退出并保存
(4)连接redis进行测试
docker exec -it redis redis-cli
(5)redis连接工具测试
6.minio安装部署
(1)拉取minio镜像
docker pull minio/minio
(2)创建目录
mkdir -p /home/minio/config mkdir -p /home/minio/data
(3)创建minio容器
docker run -p 9000:9000 -p 9090:9090 \ --net=host \ --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=minioadmin" \ -e "MINIO_SECRET_KEY=minioadmin" \ -v /home/minio/data:/data \ -v /home/minio/config:/root/.minio \ minio/minio server \ /data --console-address ":9090" -address ":9000" 密码要求:(账号长度必须大于等于5,密码长度必须大于等于8位)
(4)登录minio测试是否成功
7.rabbitMQ安装部署
(1)拉取rabbitMQ的镜像
docker pull rabbitmq
(2)创建rabbitmq容器
docker run -d --name mq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root rabbitmq:3.8-management
(3)安装插件
docker ps //查看运行中的容器 docker exec -it 容器id /bin/bash 进入rabbitmq容器 rabbitmq-plugins enable rabbitmq_management 在容器内安装一个插件 exit //退出容器
(4)进入默认页面测试
15691:是图像化界面 5671:是接受消息和发送消息的界面
部署后端服务
(1)修改服务的yml文件
例如MySQL Redis 的ip地址 修改为服务器的ip地址 (10.1.1.17)
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://10.1.1.17:3306/security username: root password: root redis: host: 10.1.1.17 port: 6379 database: 0
(2)maven的打包插件打包
(3)上传到服务器,创建Dockerfile文件
##第一个dockerfile文件 FROM kdvolder/jdk8 MAINTAINER archive-management-0.0.1-SNAPSHOT VOLUME /tmp ADD archive-management-0.0.1-SNAPSHOT.jar archive-management-0.0.1-SNAPSHOT.jar RUN bash -c 'touch /archive-management-0.0.1-SNAPSHOT.jar' ENTRYPOINT ["java","-jar","/archive-management-0.0.1-SNAPSHOT.jar"] EXPOSE 8088
(4)自定义镜像
docker build -t archive-management:0.0.1-SNAPSHOT .
(5)创建容器
docker run -d --name liheng -p 80:80 镜像ID
(6)运行容器 查看日志
docker start 容器ID docker logs -f liheng
更多推荐
已为社区贡献1条内容
所有评论(0)