centos6配置mysql远程访问_doker容器实战分别实现nginx、tomcat、mysql

  • 使用docker file自动生成nginx镜像

导入centos镜像

[root@localhost nginx]# docker load < /mnt/centos

257015d1976be7720ab59f5bed2c1a82.png

mkdir nginx

cd nginx

vim Dockerfile

#设置基础镜像

FROM centos

#维护该镜像的用户信息

MAINTAINER the centos project

#安装相关依赖包

RUN yum -y install wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel

#下载Nginx源码包

RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz

#解压下载的源码包

RUN tar zxf nginx-1.9.7.tar.gz

WORKDIR nginx-1.9.7

#配置及编译安装

RUN ./configure --prefix=/usr/local/nginx && make && make install

#开启容器的80/443端口

EXPOSE 80

EXPOSE 443

#修改配置文件,以非daemon方式启动

RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf

WORKDIR /root/nginx

ADD run.sh /run.sh

#赋予脚本权限

RUN chmod 775 /run.sh

#启动容器时执行脚本,编辑完成后,保存退出即可

CMD ["/run.sh"]

vim run.sh

#!/bin/bash

/usr/local/nginx/sbin/nginx

[root@01 nginx]# docker build -t nginx:linfan . //通过file自动生成镜像

[root@localhost nginx]# docker run -d -P nginx:linfan //-d在宿主机后台运行

1f0271c648e43e8b85d708ddf2e3af37.png

-P随机分配端口为32770,在客户机测试需加上指定的端口

cbe2b1abaf151101ce21eb6c3f4a899b.png
  • 搭建Tomcat容器

mkdir tomcat

cd tomcat

PS:创建工作目录后,可以先把需要的jdk软件包下载解压到工作目录

[root@localhost tomcat]# ls

jdk-8u91-linux-x64.tar.gz

[root@localhost tomcat]# tar xzvf jdk-8u91-linux-x64.tar.gz

[root@localhost tomcat]# vim Dockerfile

#基础镜像centos

FROM centos

#维护该镜像的用户信息

MAINTAINER The centos project 16601500035@163.com

#将本地的JDK文件上传至容器

ADD jdk1.8.0_91 /usr/local/jdk-8u91

#以下是设置JDK环境变量

ENV JAVA_HOME /usr/local/jdk-8u91

ENV JAVA_BIN /usr/local/jdk-8u91/bin

ENV JRE_HOME /usr/local/jdk-8u91/jre

ENV PATH $PATH:/usr/local/jdk-8u91/bin:/usr/local/jdk-8u91/jre/bin

ENV CLASSPATH /usr/local/jdk-8u91/jre/bin:/usr/local/jdk-8u91/lib:/usr/local/jdk-8u91/jre/lib/charsets.jar

#安装wget工具并下载tomcat包

RUN yum -y install wget

RUN wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz

RUN tar zxf apache-tomcat-8.5.57.tar.gz

#移动至tomcat源码包

RUN mv apache-tomcat-8.5.57 /usr/local/tomcat

#开启8080端口

EXPOSE 8080

#添加运行脚本

ADD run.sh /run.sh

#添加运行脚本, #赋予脚本执行权限

RUN chmod 775 /run.sh

CMD ["/run.sh"]

#运行脚本,编写完毕后,保存退出即可。

[root@localhost tomcat]# vim run.sh

#!/bin/bash

/usr/local/tomcat/bin/startup.sh

tailf /run

[root@localhost tomcat]# docker build -t tomcat:linfan . //生成镜像

c1e761ad2c27abcb5fd1c81b69e48599.png

[root@localhost tomcat]# docker run -d --name tomcat01 -p 4444:8080 tomcat:linfan

2af29b55ede8ed5679912daf8675ce1716913be238801d15454a9e145ae17272

5292ce80f59ba77ea6b2a32e5a6b1bc8.png
d0c74d67284efb0ad3f4ad1e02144fe5.png
  • 搭建MySQL容器

[root@localhost mysql]# docker pull docker.io/guyton/centos6

51e15c6ccd1d8dbf17bfadbe780d14bb.png

[root@localhost ~]# mkdir mysql

[root@localhost ~]# cd mysql/

[root@localhost mysql]# vim Dockerfile

#设置基础镜像

FROM guyton/centos6

#维护该镜像的用户信息

MAINTAINER the centos project-mysql

#安装MySQL数据包

RUN yum -y install mysql mysql-server

#开启MySQL服务,并授权,密码123456

RUN /etc/init.d/mysqld start &&

mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"&&

mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';"

#开启3306端口

EXPOSE 3306

#运行初始化脚本mysql_safe

CMD ["mysqld_safe"]

b5315f7f425fe8b529a5fb48d26658e4.png

[root@localhost mysql]# docker build -t mysql:centos6 .

//创建一个容器名称为mysql,随机分配一个端口

[root@localhost mysql]# docker run -d --name mysql -P mysql:centos6

1067a7741dcc134df9e676d2dd62fa38e73bead3ec2bd03c8359aad034692e3f

5dd2a5612778e2729144045aaed8d40c.png

如果通过本地主机访问,需要在本机通过yum安装mysql,通过本机的mysql访问程序,进行连接。

[root@localhost mysql]# yum -y install mysql

lhost mysql]# mysql -h 192.168.1.63 -u root -P 32770 -p123456

a8f87a226a8207f9c947dcbf4ccc1ebf.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值