
Linux服务器部署安装docker以及各种服务配置
随着微服务的应用,docker的使用现在越来越广泛,在项目中积累的学习经验在此记录一下:
docker详解传送门:这可能是最为详细的Docker入门吐血总结_邓彪1022的博客-CSDN博客
一、安装部署docker环境
1)在线安装docker
无论系统中是否有Docker,我们需要先卸载老版本,我们需要安装新版本CE,其实我们应该知道Docker有分CE社区版本和EE企业版,后者是需要付费的,我们安装CE免费版本。
yum remove docker docker-client docker-client-latest
docker-common docker-latest docker-latest-logrotate docker-logrotate
docker-selinux docker-engine-selinux docker-engine -y
1. 安装docker-ce以及必要的包
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加稳定版本源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 安装docker-ce
yum install docker-ce
安装过程如果询问到是否继续OK,全部输入Y继续
4. 启动docker
systemctl start docker
5. 检测docker是否安装成功
docker run hello-world
最后,如果我们想要卸载docker,可以输入"yum remove docker-ce"执行卸载,以及"rm -rf /var/lib/docker"清除所有的文件目录
2)离线安装docker
docker离线安装包: https://download.csdn.net/download/romanticRose/12375568
1. 在目标计算机上将tgz包上传至/root路径下,并解压centos-local.tgz文件(具体文件名参照实际)
cd /root
tar -xvzf centos-local.tgz
2. 安装createrepo
cd /root/docker-ce-local
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
#注:createrepo版本可能不一样,根据自己下载的包的版本安装
3. 新增docker-ce-local.repo源文件,写入以下内容
# vi /etc/yum.repos.d/docker-ce-local.repo
[docker-ce-local]
name=Local Yum
baseurl=file:///root/docker-ce-local/
gpgcheck=1
gpgkey=file:///root/docker-ce-local/gpg
enabled=1
4. 生成源索引及缓存
createrepo /root/docker-ce-local
yum makecache
5. 安装docker-ce,并忽略gpg校验
yum install docker-ce --nogpgcheck
6. 启动服务并测试
systemctl start docker.service
docker version
7. 部署过程中遇到的问题整理
寻找yum源错误问题
a. 将/etc/yum.repos.d/文件夹下的yum源备份,先移除出该文件夹
b. 执行上述安装步骤中的2
c. 安装部署docker-ce,验证通过后将yum源还原
3) docker常用命令
#docker常用命令:
1. 查看容器: docker ps
2. 查看镜像: docker images
3. 删除容器: docker rm 容器name
4. 删除镜像: docker rmi 镜像id
5. 创建容器: docker run --name dockermysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23
6. 启动容器: docker start 容器name #docker start dockermysql
7. 重启容器: docker restart dockermysql
8. 停止容器: docker stop dockermysql
9. 容器交互: docker exec -it dockermysql bash #或 docker attach dockermysql
10.退出交互: Ctrl+P,Ctrl+Q(Ctrl键一直保持按下)
11.设置开机自启: systemctl enable docker
12.容器设置自启,update命令: docker update --restart=always aeccnginx
二、安装JDK(这里安装的是jdk-8u221-linux-x64.tar.gz)
1) 服务器环境安装JDK
百度网盘链接: https://pan.baidu.com/s/1RfjTxZ6e6fg37aAn2GlpcQ
提取码: en8f
复制这段内容后打开百度网盘手机App,操作更方便哦
解压jdk
移动文件到usr/java
配置环境变量 vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存:wq,退出
更新环境变量配置,通过命令source /etc/profile让profile文件立即生效,在cmd中输入Java或Java -version验证是否配置成功
2) docker离线JDK
将jdk离线docker资源包放置到系统文件夹中
mikdir /home/dockerimages
资源分享(Java1.8): docker离线部署jdk镜像
#进入到文件存放文件夹中
cd /home/dockerimages
#从tar归档文件或者标准输入流载入镜像,拉取
docker load < aeccjava8.tar
#查看镜像
docker ps
docker images
三、部署安装MySQL
1) 在线部署安装
docker pull mysql:5.7.23 拉取MySQL镜像
docker run -d --network host --name aeccmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7.23 --lower_case_table_names=1 以host方式启动MySQL容器,并且MySQL忽略大小写
测试连接
2) 离线部署安装
#新建文件夹
mikdir /home/dockerimages
#将资源文件放置文件夹中,进入目录
cd /home/dockerimages
#拉取镜像tar文件
docker load < docker离线包.tar
#启动服务
执行上述docker run命令启动服务
#查看镜像
docker ps
docker images
四、部署安装Redis
1) 在线部署安装
docker pull redis:3.2.8 拉取指定版本的redis镜像
docker run -d --network host --name aeccredis -p 6379:6379 redis:3.2.8 以host方式启动Redis容器
测试连接
2) 离线部署安装
#新建文件夹
mikdir /home/dockerimages
#将资源文件放置文件夹中,进入目录
cd /home/dockerimages
#拉取镜像tar文件
docker load < docker离线包.tar
#启动服务
执行上述docker run命令启动服务
#查看镜像
docker ps
docker images
五、部署安装nginx
1) 在线部署安装
从hup上pull镜像
docker pull hub.c.163.com/library/nginx
创建将要挂载的目录(这里以实际项目业务为例)
mkdir -p /home/aeccspringcloud/website/nginx/{conf,conf.d,html,logs}
先要有配置文件才能启动容器
#######============nginx.conf ==============
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
#######============default.conf ==============
server {
listen 9002;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
# 指向我们打包后上传的前端?文件
root /usr/share/nginx/html/sys;
index index.html;
try_files $uri $uri/ /index.html;
}
# 通过路径前缀将请求转发到后端服务器器
location /api/ {
proxy_pass http://172.20.0.16:8765/api/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
启动容器
其中-v后跟的是你放置在nginx中的项目路径
docker run --name aeccnginx -d -p 9002:9002 -v /home/aeccspringcloud/website/nginx/html/:/usr/share/nginx/html -v /home/aeccspringcloud/website/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/aeccspringcloud/website/nginx/logs:/var/log/nginx -v /home/aeccspringcloud/website/nginx/conf.d:/etc/nginx/conf.d -d hub.c.163.com/library/nginx:latest
网页访问验证成功与否
2) 离线部署安装
#新建文件夹
mikdir /home/dockerimages
#将资源文件放置文件夹中,进入目录
cd /home/dockerimages
#拉取镜像tar文件
docker load < docker离线包.tar
#启动服务
执行上述docker run命令启动服务
#查看镜像
docker ps
docker images
六、部署安装Tomcat(根据需求,spring boot项目无需安装)
1) 在线部署安装
拉取镜像
docker pull hub.c.163.com/library/tomcat:latest
或
docker pull tomcat:8.5.38-jre8
启动tomcat
docker run -d --name aecctomcat -p 9422:8080 hub.c.163.com/library/tomcat:latest
挂在宿主机目录方式启动
docker run -d --name aecctomcat -p 端口:8端口 -v / 项目路径:/usr/local/tomcat/webapps hub.c.163.com/library/tomcat:latest
进入交互模式
docker exec -it aecctomcat /bin/bash
将准备好的 web 应用拷贝到 docker my-tomcat 容器, 这里拷贝进去之后会自动部署, 直接就可以访问
docker cp xxl-job-admin.war aecctomcat:/usr/local/tomcat/webapps(示例)
访问网站验证是否成功运行
2) 离线部署安装
#新建文件夹
mikdir /home/dockerimages
#将资源文件放置文件夹中,进入目录
cd /home/dockerimages
#拉取镜像tar文件
docker load < docker离线包.tar
#启动服务
执行上述docker run命令启动服务
#查看镜像
docker ps
docker images
七、部署安装rabbitmq(根据业务需求)
1) 在线部署安装
docker pull rabbitmq:management 拉取rabbitmq镜像
docker run -d --network host --name aeccrabbit -e RABBITMQ_DEFAULT_USER=dev -e RABBITMQ_DEFAULT_PASS=dev123 -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management 以host方式启动rabbitmq
测试rabbitmq
2) 离线部署安装
#新建文件夹
mikdir /home/dockerimages
#将资源文件放置文件夹中,进入目录
cd /home/dockerimages
#拉取镜像tar文件
docker load < docker离线包.tar
#启动服务
执行上述docker run命令启动服务
#查看镜像
docker ps
docker images
八、docker离线镜像制作
需要已有的docker容器,将容器CONTAINER ID做成镜像,并命名为dockerxxxx
#将容器CONTAINER ID xxx做成镜像,并命名为dockerxxx
docker commit 容器id dockerxxx
#打包镜像并命名,保存输出到当前路径下
docker save -o dockerxxx.tar dockerxxx
#接下来如前面描述拉取镜像,执行验证即可
更多推荐
所有评论(0)