centos 部署安装环境及docker容器应用

系统内核要求3.1以上

虚拟机网络配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33 
MM_CONTROLLED=no
ONBOOT=yes

ip addr
apt-get install net-tools
yum安装
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm; 
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm; 
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm;
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm;
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm;

安装Docker
##查看内核:
uname -r 内核必须3.1以上的版本
##移除历史版本
yum remove docker docker-common container-selinux docker-selinux docker-engine

##更新yum
yum update
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

yum install -y docker-ce
systemctl start docker

####docker 安装工作目录挂载
docker info  # 查看docker位置,默认在/var/lib/docker
systemctl stop docker # 停止docker服务
df -h  # 查看磁盘空间大的位置
mkdir -p /home/docker  # 创建docker文件夹

# 迁移/var/lib/docker目录下的文件到目标位置
sudo rsync -avz /var/lib/docker /home/

#编辑daemon.json
sudo vim /etc/docker/daemon.json

# 在vim添加以下内容,路径是目标docker路径

{
  "graph": "/home/docker/"
}
# 重新加载docker并重启docker 如果发下无法重启 先执行 删除旧的目录命令

rm -rf /var/lib/docker  删除旧的目录命令 
systemctl daemon-reload && systemctl restart docker

安装jdk
docker search jdk8
docker pull kdvolder/jdk8
docker run -di -v /home/java:/home/java --name=jdk1.8 kdvolder/jdk8

docker exec -i -t  jdk1.8 /bin/bash

安装mysql
docker search mysql
docker pull mysql:5.7
sudo 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

安装oracle
docker search oracle
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run -it -d -p 1521:1521 -v /data/oracle:/data/oracle -v /server/dpdump:/opt/oracle/dpdump --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker exec -it oracle_11g /bin/bash

su root
密码:helowin
vi /etc/profile
export ORACLE_HOME=/home/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
##创建软连接
 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
 
###登录sqlplus并修改sys、system用户密码
sqlplus /nolog   --登录
conn /as sysdba  --
alter user system identified by system;--修改system用户账号密码;
alter user sys identified by 123456;--修改sys用户账号密码;
create user test identified by test; -- 创建内部管理员账号密码;
grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

alter database mount;
alter database open;

###redis 安装
docker images
docker pull redis:5.0.9
## 创建目录
mkdir -p /home/redis/data /home/redis/conf
touch /home/redis/data /home/redis/conf/redis.conf

#bind 127.0.0.1
protected-mode no
requirepass 123456  
docker run -d --name redis -p 6379:6379 -v /home/redis/conf/redis.conf:/redis.conf -v /home/redis/data:/data redis:5.0.9 redis-server --appendonly yes
-d 后台运行
–name 指定容器名称
-p 端口映射到主机的端口 (-p 主机端口:容器端口)
-v 将主机目录挂载到容器的目录
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置


###nginx安装
mkdir -p /home/nginx/html

mkdir -p /home/nginx/conf

mkdir -p /home/nginx/logs

docker pull nginx

#先启动
docker run -p 9999:80 --name mynginx -d nginx
#拷贝配置文件
docker cp -a mynginx:/etc/nginx/ /home/nginx/conf
#修改配置文件


编辑:vi /home/nginx/conf/nginx/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;
    keepalive_timeout  65;
    upstream www_server_pools {
        server 47.105.108.195:15672 weight=1;
        server 47.105.108.195:15672 weight=1;
    }
    upstream bbs_server_pools {
        server 47.105.108.195:15672 weight=1;
        server 47.105.108.195:15672 weight=1;
    }
    include /etc/nginx/conf.d/*.conf;
}


编辑 vi /home/nginx/conf/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  localhost;
    location / {
        proxy_pass http://www_server_pools;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
server {
    listen       80;
    server_name  localhost;
    location / {
        proxy_pass http://bbs_server_pools;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
#再启动
docker run -p 9999:80 --name mynginx -v /home/nginx/www:/www -v /home/nginx/conf/nginx:/etc/nginx -v /home/nginx/logs:/wwwlogs -d nginx
#-p 9999:80:将容器的80端口映射到主机的9999端口
#--name nginx:将容器命名为mynginx
#-v /home/nginx/html:/html:将主机中当前目录下的www挂载到容器的/www
#-v /home/nginx/conf:/etc/nginx:将主机中当前目录下的nginx.conf挂载到容的/etc/nginx/nginx.conf
#-v /home/nginx/logs:/nginxlogs:将主机中当前目录下的logs挂载到容器的/nginxlogs


#编辑防火墙配置文件
systemctl stop firewalld.service systemctl status firewalld.service


##############################导出docker 镜像包到另外一台服务器 
docker images

docker save b83ae7c076b1> /usr/local/jdk8.tar
docker save efa50097efbd> /usr/local/mysql5.7.tar
docker save 55f4b40fe486> /usr/local/nginx.tar
docker save 987b553c835f> /usr/local/redis.tar
docker save 3fa112fd3642> /usr/local/oracle11g.tar

docker load < /tmp/jdk8.tar
传输后的镜像重命名
docker tag b83ae7c076b1 jdk8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值