当前位置: 首页 > news >正文

网站开发进修网站开发 费用

网站开发进修,网站开发 费用,安卓开发菜鸟教程,wordpress主题汉化中文展开全部推荐使用Dockerfile方式。服务的管理使用的是supervisord, 因为dockerfile里只会有一个cmd生效,如果我想62616964757a686964616fe58685e5aeb931333361326332通过ssh去管理容器还要有mysql服务的启动起来 cmd的方式就无法实现#xff0c;当然容器不需要以sshd的方式去管…展开全部推荐使用Dockerfile方式。服务的管理使用的是supervisord, 因为dockerfile里只会有一个cmd生效,如果我想62616964757a686964616fe58685e5aeb931333361326332通过ssh去管理容器还要有mysql服务的启动起来 cmd的方式就无法实现当然容器不需要以sshd的方式去管理这些也都是看自己怎么去使用比如说我想备份容器里的数据 我完全可以使用 –volumes-from , 重启使用 docker restart , 我个人也是使用ssh习惯了 所以依赖的镜像把ssh服务栽进去了。# docker 版本复制代码代码如下:[rootprivate_network mysql]# docker versionClient version: 1.6.0-rc5Client API version: 1.18Go version (client): go1.4.2Git commit (client): fc4825dOS/Arch (client): linux/amd64Server version: 1.6.0-rc5Server API version: 1.18Go version (server): go1.4.2Git commit (server): fc4825dOS/Arch (server): linux/amd64[/code]# 目录结构复制代码代码如下:mysql/|-- cmake-3.2.2.tar.gz|-- create_mysql_user.sh # mysql用户初始化脚本|-- Dockerfile|-- install_mysql-5.6.24.sh # mysql服务安装脚本|-- my.cnf # mysql服务配置文件|-- mysql-5.6.24.tar.gz-- supervisord.conf # 服务管理工具配置文件# Dockerfile复制代码代码如下:# FROM: 依赖的镜像FROM ted1993/mysql:5.6.24MAINTAINER: 个人信息MAINTAINER xuqiangqiang 739827282qq.com RUN: 执行命令RUN yum -y install tar gcc-c supervisor ncurses-devel libtool bison bison-devel pwgenRUN mkdir -p /var/log/supervisor ADD: 添加本地文件到容器中如果是压缩包会在目标目录进行自动解压如果只想添加文件可以使用 COPY命令ADD ./supervisord.conf /etc/supervisord.confADD ./cmake-3.2.2.tar.gz /root/tools/ADD ./mysql-5.6.24.tar.gz /root/tools/ADD ./install_mysql-5.6.24.sh /root/tools/ADD ./create_mysql_user.sh /create_mysql_user.sh# WORKDIR: 当前的工作目录WORKDIR /root/tools/RUN sh install_mysql-5.6.24.shADD ./my.cnf /data/server/mysql-5.6.24/etc/my.cnfRUN rm -rf /root/tools/mysql-5.6.24RUN rm -rf /root/tools/mysql-5.6.24.tar.gzRUN rm -rf /root/tools/cmake-3.2.2RUN rm -rf /root/tools/cmake-3.2.2.tar.gz# EXPOSE: 公开的端口会暴露在外的端口EXPOSE 22 3306# CMD: 容器启动执行的命令 一个dockerfile只有一个cmd生效。CMD [/usr/bin/supervisord] supervisord.conf 服务管理工具通过supervisord管理服务复制代码代码如下:[supervisord]nodaemontrue[program:mysqld]command/etc/init.d/mysqld startnumprocs1autostarttrueautorestarttrue[program:sshd]command/usr/sbin/sshd -Dnumprocs1autostarttrueautorestarttrue# install_mysql-5.6.24.sh复制代码代码如下:#!/bin/bashgrep ^mysql: /etc/passwd /dev/null || groupadd mysql useradd -g mysql -s /sbin/nologin mysqlif [ ! -d cmake-3.2.2 ];thentar xzvf cmake-3.2.2.tar.gzficd cmake-3.2.2./bootstrap gmake gmake install cd ..if [ ! -d mysql-5.6.24 ];thentar xzf mysql-5.6.24.tar.gzficd mysql-5.6.24cmake \-DCMAKE_INSTALL_PREFIX/data/server/mysql-5.6.24 \-DMYSQL_UNIX_ADDR/tmp/mysql.sock \-DMYSQL_DATADIR/data/mysql-5.6.24/ \-DSYSCONFDIR/data/server/mysql-5.6.24/etc/ \-DWITH_INNOBASE_STORAGE_ENGINE1 \-DWITH_MYISAM_STORAGE_ENGINE1 \-DWITH_PARTITION_STORAGE_ENGINE1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \-DWITH_ARCHIVE_STORAGE_ENGINE1 \-DWITH_BLACKHOLE_STORAGE_ENGINE1 \-DWITH_EXTRA_CHARSETScomplex \-DENABLED_LOCAL_INFILE1 \-DDEFAULT_CHARSETutf8 \-DDEFAULT_COLLATIONutf8_unicode_ci \-DWITH_DEBUG0CPU_NUM$(cat /proc/cpuinfo | grep processor | wc -l)if [ $CPU_NUM -gt 1 ];thenmake -j$CPU_NUMelsemakefimake installecho PATH\$PATH:/data/server/mysql/bin /etc/profile . /etc/profileln -s /data/server/mysql-5.6.24/ /data/server/mysqlrm -rf /etc/my.cnfmkdir -p /data/server/mysql-5.6.24/etc/mkdir -p /data/server/mysql/data/mkdir -p /data/log/mysql/chown -R mysql:mysql /data/server/mysql/chown -R mysql:mysql /data/server/mysql/data/chown -R mysql:mysql /data/log/mysql\cp -f /data/server/mysql/support-files/mysql.server /etc/init.d/mysqldsed -i s#^basedir$#basedir/data/server/mysql# /etc/init.d/mysqldsed -i s#^datadir$#datadir/data/server/mysql/data# /etc/init.d/mysqldchmod 755 /etc/init.d/mysqld/data/server/mysql/scripts/mysql_install_db --datadir/data/server/mysql/data/ --basedir/data/server/mysql --usermysql# create_mysql_user.sh复制代码代码如下:#!/bin/bash/data/server/mysql/bin/mysqld_safe /dev/null 21 RET1while [[ RET -ne 0 ]]; doecho Waiting for confirmation of MySQL service startupsleep 5/data/server/mysql/bin/mysql -uroot -e status /dev/null 21RET$?doneecho MYSQL_PASS_INFO echo PASS_ROOT${MYSQL_PASS:-$(pwgen -s 8 1)}PASS_DBA${MYSQL_PASS:-$(pwgen -s 8 1)}echo echo Creating MySQL root user with ${PASS_ROOT} passwordecho Creating MySQL dba user with ${PASS_DBA} passwordecho /data/server/mysql/bin/mysql -uroot -e grant all privileges on *.* to dba% identified by ${PASS_DBA};/data/server/mysql/bin/mysql -uroot -e update mysql.user set passwordPASSWORD(${PASS_ROOT}) where userroot and hostlocalhost;echo echo ENDecho echo Done!echo echo echo REMOTE_MYSQL_PASSWORDecho You can now connect to this MySQL Server using:echo echo mysql -udba -p${PASS_DBA} -h -Pecho echo Please remember to change the above password as soon as possible!echo MySQL user root has no password but only allows local connectionsecho # 通过docker build命令提交镜像复制代码代码如下:docker build -t ted1993/mysql:5.6.24 . # 注意最后面有一个.# 使用docker images 命令查看镜像复制代码代码如下:[rootprivate_network mysql]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEted1993/mysql 5.6.24 d3ed9c578f4c 5 days ago 902.8 MB# 使用docker run 命令启动容器 -P 使用随机端口映射容器端口 -p 3306:3306 使用指定端口复制代码代码如下:docker run -d -P ted1993/mysql:5.6.24# 使用docker ps 命令查看运行容器id复制代码代码如下:[rootprivate_network mysql]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESab622592bf1e mysql:5.6.24 /usr/bin/supervisor 3 days ago Up 3 days 0.0.0.0:5000-22/tcp, 0.0.0.0:5001-3306/tcp jolly_swartz# 使用docker commit 提交新的镜像docker commit ab622592bf1e ted1993/mysql:2015-06-02[/code]Docker使用Link在容器之间建立连接在使用Docker的时候我们会常常碰到这么一种应用就是我需要两个或多个容器其中某些容器需要使用另外一些容器提供的服务。比如这么一种情况我们需要一个容器来提供mysql的数据库服务而另外两个容器作为客户端来连接使用mysql数据库服务。下面我们就来看看Docker是怎样通过Link来实现这种功能的。这里我们首先创建两个容器image一个用来模拟mysql数据库另外一个使用mysql的client来模拟一些使用mysql服务的应用这种应用可以是任何phppythonjava等的应用。先创建一个mysql_server目录并在其下创建一个Dockerfile文件内容如下复制代码代码如下:FROM centos:centos6MAINTAINER Fanbin Kong kongxxhotmail.comRUN yum install -y mysql-server mysqlRUN /etc/init.d/mysqld start \mysql -e grant all privileges on *.* to root% identified by letmein;\mysql -e grant all privileges on *.* to rootlocalhost identified by letmein;\mysql -u root -pletmein -e show databases;EXPOSE 3306CMD [/usr/bin/mysqld_safe]然后根据Dockerfile来创建image复制代码代码如下:sudo docker build -t kongxx/mysql_server .创建一个mysql_client目录并在其下创建一个Dockerfile文件内容如下复制代码代码如下:FROM centos:centos6MAINTAINER Fanbin Kong kongxxhotmail.comRUN yum install -y mysql然后根据Dockerfile来创建image复制代码代码如下:sudo docker build -t kongxx/mysql_client .创建完image之后我们可以使用下面命令来查看结果复制代码代码如下:$ sudo docker images | grep kongxxkongxx/mysql_client latest aa31f22f6fc5 2 hours ago 303.7 MBkongxx/mysql_server latest 3b9b08c8dda4 2 hours ago 353.3 MB第二步是根据image来创建我们的应用场景首先创建提供mysql数据库服务的容器复制代码代码如下:sudo docker run --namemysql_server -d -P kongxx/mysql_server分别创建两个使用上一步创建出来mysql数据库服务的容器第一个应用容器复制代码代码如下:sudo docker run --namemysql_client1 --linkmysql_server:db -t -i kongxx/mysql_client /usr/bin/mysql -h db -u root -pletmein第二个应用容器复制代码代码如下:sudo docker run --namemysql_client2 --linkmysql_server:db -t -i kongxx/mysql_client /usr/bin/mysql -h db -u root -pletmein这里需要特别注意一下“–linkmysql_server:db”这个参数就是告诉Docker容器需要使用“mysql_server”容器并将其别名命名为db这样在这两个容器里就可以使用“db”来作为提供mysql数据库服务的机器名。所以在最后启动参数里我们使用的是“/usr/bin/mysql -h db -u root -pletmein”来连接mysql数据库的。运行完上面两个命令我们就会在创建了两个mysql的client的容器此时我们可以使用下面命令来查看状态复制代码代码如下:sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESac0c76c627c0 kongxx/mysql_client:latest /usr/bin/mysql -h db 10 seconds ago Up 9 seconds mysql_client2763c4825722d kongxx/mysql_client:latest /usr/bin/mysql -h db 41 minutes ago Up 40 minutes mysql_client32f7839f7e9d kongxx/mysql_server:latest /usr/bin/mysqld_safe About an hour ago Up About an hour 0.0.0.0:49153-3306/tcp mysql_client1/db,mysql_client2/db,mysql_server这里注意一下最后一行也就是mysql_server容器的“NAMES”列的内容“mysql_client/db,mysql_client2/db,mysql_server”这就说明mysql_client1和mysql_client2都和db建立的连接。已赞过已踩过你对这个回答的评价是评论收起
http://www.pierceye.com/news/44007/

相关文章:

  • 华为外包做的网站网站qq联系怎么做
  • 网站建设的出路大一html网页制作作业简单
  • 广告网站设计公司室内设计需要什么学历
  • 长沙网站搭建优化百度天眼查公司
  • 做个网站页面多钱网络防御中心是什么
  • 上国外网站 dns智能建站吧
  • 南通网站开发模特网站模板
  • 各行业关键词济南优化网站价格
  • 找柳市做网站凡客诚品的商业模式
  • 自助建站信息发布网企业兰州网络推广哪家好
  • 如何利用网站策划做好网站建设做网站app价格多少钱
  • 平面设计大赛网站wordpress建数据库步骤
  • 南京市高淳县建设厅网站科技公司建设网站
  • 企业网站建设板块整个网站全是图片做的
  • 怎么用模板做网站做网站搭建和微信平台推广
  • 上海长宁区网站建设青岛网站制作需要多少钱
  • 网站系统建设开票要开什么网站后台实际访问地址与注册的域名地址不同
  • 建站网站是什么在东莞找工作上哪个网站
  • 网站海外推广谷歌seo方案东莞网站制作品牌祥奔科技
  • 自建网站和租用空间网站网上自学平台
  • 网站上的格式用html怎么做黄冈做网站技术支持的
  • 外贸网站建设 评价移动商城网站开发选择
  • 免费做网站推广的软件网站设计作业平台
  • 如何做网站怎么赚钱吗上海培训机构排名
  • 利用小偷程序做网站网站数据库名称怎么改
  • 常德网站建设常德智慧政务网站怎么做
  • 济南市章丘区建设局网站昆山品牌设计公司
  • 厦门网站定制开发长沙竞价网站建设价格
  • 网站设计与制作说明中国免费网站服务器
  • aspnet校友录网站开发青岛网站建设开发外包