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

电子商务网站制作公司卖产品的网站怎么做

电子商务网站制作公司,卖产品的网站怎么做,wordpress js链接地址,建立网站根目录下文章目录 一、docker数据管理1.为何需要docker数据管理2.数据管理类型3.数据卷4.数据卷容器5.容器的互联 二.docker镜像的三种创建方法1.基于现有镜像创建1.1 启动镜像1.2 生成新镜像 2.基于本地模板创建2.1 OPENVZ 下载模板2.2 导入容器生成镜像 3.基于dockerfile创建3.1 dock… 文章目录 一、docker数据管理1.为何需要docker数据管理2.数据管理类型3.数据卷4.数据卷容器5.容器的互联 二.docker镜像的三种创建方法1.基于现有镜像创建1.1 启动镜像1.2 生成新镜像 2.基于本地模板创建2.1 OPENVZ 下载模板2.2 导入容器生成镜像 3.基于dockerfile创建3.1 dockerfile结构及分层3.2 联合文件系统3.3 docker镜像加载原理及过程 4.dockerfile操作常用的指令4.1 FROM指令4.2 MAINTAINER 指令4.3 RUN指令4.4 ENTRYPOINT指令4.5 CMD指令4.6 EXPOSE指令4.7 ENV指令4.8 ADD指令4.9 COPY指令4.10 VOLUME指令4.11 USER指令4.12 WORKDIR指令4.13 ONBUILD指令4.14 HEALTHCHECK指令 5.编写 Dockerfile注意 三.dockerfile构建镜像实例1.dockerfile构建httpd2.dockerfile构建sshd3.dockerfile构建systemd4.dockerfile构建nginx5.dockerfile构建tomcat6.dockerfile构建mysql 拓展创建实例时网络报错解决 一、docker数据管理 1.为何需要docker数据管理 因为数据写入后如果停止了容器再开启数据就会消失使用数据管理的数据卷挂载实现了数据的持久化重启数据还会存在还有一种方式容器之间共享文件即相当于有个备份也会解决停止容器后数据消失的问题。 2.数据管理类型 管理 Docker 容器中数据主要有两种方式数据卷Data Volumes和数据卷容器DataVolumes Containers 3.数据卷 数据卷是一个供容器使用的特殊目录位于容器中。可将宿主机的目录挂载到数据卷上对数据卷的修改操作立刻可见并且更新数据不会影响镜像从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作可以互相同步内容 #拉取CentOS 7的Docker镜像 docker pull centos:7 #使用docker run命令来创建并运行一个基于CentOS 7镜像的容器 docker run -itd centos:7 /bin/bash mkdir /var/www #宿主机创建目录 docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash #创建容器centos7并命名为web1.将宿主机的/var/www目录挂载到容器中的/data1卷中 # -v 选项表示容器中创建数据卷 echo this is web1 /data1/a.txt exit #数据卷中创建内容a.txt并退出 cd /var/www/ #进入宿主机的挂载目录 cat a.txt #验证容器中数据卷内容 echo 123abc.txt #宿主机的挂载目录创建一个文件夹 docker start web1 docker exec -it web1 /bin/bash #开启web1容器并进入 ls /data1 #显示data1数据卷验证其中是否有abc.txt 4.数据卷容器 –volumes-from 要挂载那个容器名称/id号 #用于容器之间的挂载 如果需要在容器之间共享一些数据最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器专门提供数据卷给其他容器挂载使用。 docker run --name web3 -v /data1 -v /data2 -it centos:7 /bin/bash #创建数据卷容器web3 并创建2个data目录 echo this is web3 /data1/abc.txt echo This is web3 /data2/ABC.txt #web3容器2个data下创建文件 docker run -it --volumes-from web3 --name web4 centos:7 /bin/bash #使用 --volumes-from 来挂载 web3 容器中的数据卷到新的容器 cat /data1/abc.txt cat /data2/ABC.txt 5.容器的互联 容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说就是会在源容器和接收容器之间建立一条隧道接收容器可以看到源容器指定的信息。 docker run -itd -P --name web01 centos:7 /bin/bash #创建并运行源容器取名web1 docker run -itd -P --name web03 --link web01:web01 centos:7 /bin/bash、 #创建并运行接收容器取名web2使用--link选项指定连接容器以实现容器互联 #进入web03容器 docker exec -it web03 /bin/bash ping 90fd4a7ad12f #查看web01的地址 docker inspect web01 #进入web03pingweb01的IP地址 ping 172.17.0.5 二.docker镜像的三种创建方法 创建镜像有三种方法基于现有镜像创建、基于本地模板创建及基于dockerfile创建 1.基于现有镜像创建 1.1 启动镜像 #首先启动一个镜像在容器里做修改 docker run -itd centos:7 /bin/bash #创建并启动镜像 docker ps #查看启动的镜像信息1.2 生成新镜像 #将修改后的容器提交为新的镜像需要使用该容器的 ID 号创建新镜像 docker commit -m new-images -a test 693b1c3a61ed centos:test #常用选项 -m 说明信息 -a 作者信息 -p 生成过程中停止容器的运行docker images #查看新生成的镜像2.基于本地模板创建 2.1 OPENVZ 下载模板 #通过导入操作系统模板文件可以生成镜像模板可以从 OPENVZ 开源项目下载下载地址为http://openvz.org/Download/template/precreated #使用wget工具来下载一个名为debian-7.0-x86-minimal.tar.gz的OpenVZ模板文件。确保在执行该命令之前已经安装了wget工具如果没有安装可以使用以下命令来进行安装 yum install wget -y wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz2.2 导入容器生成镜像 #查看这个模板导入到docker的debian:test镜像 cat debian-7.0-x86-minimal.tar.gz | docker import - debian:test3.基于dockerfile创建 3.1 dockerfile结构及分层 (1)dockerfile结构大致分为4个部分 基础镜像信息维护者信息镜像操作指令容器启动时执行指令 Dockerfile是一个文本文件其内包含了一条条的指令(Instruction)每一条指令构建一层因此每一条指令的内容就是描述该层应当如何构建。有了Dockerfile当我们需要定制自己额外的需求时只需在Dockerfile上添加或者修改指令重新生成 image 即可 省去了敲命令的麻烦。 除了手动生成Docker镜像之外可以使用Dockerfile自动生成镜像。 Dockerfile是由多条的指令组成的文件其中每条指令对应 Linux 中的一条命令Docker 程序将读取Dockerfile 中的指令生成指定镜像。 (2)dockerfile镜像的结构分层 Dockerfile 中的每个指令都会创建一个新的镜像层镜像层将被缓存和复用当Dockerfile 的指令修改了复制的文件变化了或者构建镜像时指定的变量不同了对应的镜像层缓存就会失效某一层的镜像缓存失效它之后的镜像层缓存都会失效镜像层是不可变的如果在某一层中添加一个文件然后在下一层中删除它则镜像中依然会包含该文件只是这个文件在容器中不可见了不会影响在镜像中的数据. 3.2 联合文件系统 1联合文件系统(unionFS)概念 联合文件系统(unionFS)分层、轻量级并且高性能的文件系统即一层一层叠加然后制作成的镜像底层为内核加载然后是rootfs系统再上层是只可读的基础镜像镜像启动后成为容器即为可读可写层此层保存数据等然后可以再打包成一个新的镜像保存数据 2特点 一次同时加载多个文件系统但从外面看起来只能看到一个文件系统联合加载会把各层文件系统叠加起来这样最终的文件系统会包含所有底层的文件和目录。 我们下载的时候看到的一层层的就是联合文件系统。 3.3 docker镜像加载原理及过程 1Docker的镜像实际上由一层一层的文件系统组成这种层级的文件系统就是UnionFS 2bootfs主要包含bootloader和kernelbootloader主要是引导加载kernelLinux刚启动时会加载bootfs文件系统。 3在Docker镜像的最底层是bootfs这一层与我们典型的Linux/Unix系统是一样的包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了此时内存的使用权已由bootfs转交给内核此时系统也会卸载bootfs 4我们可以理解成一开始内核里什么都没有操作一个命令下载debian这时就会在内核上面加了一层基础镜像再安装一个emacs会在基础镜像上叠加一层image接着再安装一个apache又会在images上面再叠加一层image。最后它们看起来就像一个文件系统即容器的rootfs。在Docker的体系里把这些rootfs叫做Docker的镜像。但是此时的每一层rootfs都是read-only的我们此时还不能对其进行操作。当我们创建一个容器也就是将Docker镜像进行实例化系统会在一层或是多层read-only的rootfs之上分配一层空的read-write的rootfs。 5为什么容器中的centos大小只有200M 因为对于精简的OSrootfs可以很小只需要包含最基本的命令、工具和程序库就可以了因为底层直接用宿主机的kernel自己只需要提供rootfs就可以了。由此可见对于不同的linux发行版bootfs基本是一致的rootfs会有差别因此不同的发行版可以公用bootfs。 4.dockerfile操作常用的指令 4.1 FROM指令 用于指定生成新的镜像所基于的基础进项dockerfile的第一条命令必须是FROM指定本次生成镜像是基于那个基础镜像进程的每创建一个镜像需要一个FROM。 4.2 MAINTAINER 指令 说明新镜像的维护人信息 4.3 RUN指令 在所基于的镜像上执行命令并提交到新的镜像中例如执行yum安装等 4.4 ENTRYPOINT指令 1ENTRYPOINT [“要运行的程序”, “参数 1”, “参数 2”] 2设定容器启动时第一个运行的命令及其参数此指令为在使用docker exec 进入容器时就添加的命令参数。 3可以通过使用命令docker run --entrypoint 来覆盖镜像中的ENTRYPOINT指令的内容。 4示例 ENTRYPOINT [“rm”, “-rf”, “/*”] 4.5 CMD指令 1CMD [“要运行的程序”, “参数1”, “参数2”] 2此指令为指定进入容器之后的第一个命令或脚步进入容器后在容器中的shell中执行的第一个命令dockerfile中只能有一条CMD命令若有多条CMD则只执行最后一条命令。 3如果在docker run时指定了命令或者镜像中有ENTRYPOINT指令则CMD程序不会执行。 4docker RUN优先级ENTRYPOINT指令CMD指令 5示例 CMD java -jar xxxxx.jar 8090 ——启动微服务 4.6 EXPOSE指令 1EXPOSE “端口号” 2指定dockerfile生成的新镜像加载到 Docker 时要开启的端口 4.7 ENV指令 1ENV 环境变量 变量值 2设置一个环境变量的值会被后面的 RUN 使用 linxu PATH$PATH:/opt ENV PATH $PATH:/opt 4.8 ADD指令 1ADD 源路径 目标路径 2ADD指令用于将源文件复制到dockerfile产生的新镜像中要求源文件必须与dockerfile在同一文件夹下或者同一个url下。有以下注意事项 源路径为文件时目标路径以/结尾则dockerfile将目标文件视为目录将源路径的文件存到模板路径的目录下且若模板路径不存在则自动创建模板路径源路径为文件时目标路径不以/结尾则dockerfile将目标路径视为文件则直接将目标路径文件内容覆盖但名称不会改变如果模板路径不存在则会创建一个以目标路径为名的文件内容为源路径的文件内容源路径为文件夹时若目标路径存在则直接将原路径的文件夹拷贝到模板路径的目录下若目标路径不存在则自动创建一个以目标路径为名的文件夹将源文件夹拷贝到目录下若源文件是个归档文件或压缩文件docker会自动帮忙解压。URL下载和解压特性不能一起使用。任何压缩文件通过URL拷贝都不会自动解压。 4.9 COPY指令 1copy 源文件/目录 目标文件/目录 2只复制本地主机上的文件/目录 复制目标点为镜像中。要求本机文件必须与dockerfile在同一路径下。 3ADD与copy对比 都有本地复制文件和目录到镜像的功能ADD复制归档文件和压缩文件会自动解压都要求与dockerfile在同一文件夹URL拉取目录来复制COPY只能复制本地主机文件到镜像中ADD可以复制到url中。 4.10 VOLUME指令 1volume [“目录”] 2在容器中创建一个挂载点 4.11 USER指令 1USER 用户名/uid 2指定运行容器时的用户 4.12 WORKDIR指令 为后续的RUN/CMD/ENTRYPOINT指定工作目录可以理解为切换到指定的目录执行RUN等其他指令。 4.13 ONBUILD指令 1指定所生成的镜像作为一个基础镜像时所要允许的命令调用有ONBUILD命令时的镜像会先执行ONBUILD命令。在使用其他镜像时仔细检查ONBUILD命令的内容。 2当在一个Dockerfile文件中加上ONBUILD指令该指令对利用该Dockerfile构建镜像比如为A镜像不会产生任何实质性影响。 但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像比如为B镜像时这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了在构建B镜像的过程中首先会执行ONBUILD指令指定的指令然后才会执行其它指令。 3查看 是否有别的dockerfile 需要删除这是别人的如不想让使用会造成一定的问题OnBuild rm - rf /* 4.14 HEALTHCHECK指令 健康检查 5.编写 Dockerfile注意 在编写 Dockerfile 时有严格的格式需要遵循: 1第一行必须使用 EROM 指令指明所基于的镜像名称; 2之后使用 MAINTAINER 指令说明维护该镜像的用户信息; 3然后是镜像操作相关指令如 RUN 指令。每运行一条指令都会给基础镜像添加新的一层。 4最后使用 CMD 指令指定启动容器时要运行的命令操作。 三.dockerfile构建镜像实例 1.dockerfile构建httpd #创建并进入文件夹,每个服务一个文件夹 mkdir /opt/apache cd /opt/apache#创建Dockerfile文件 vim Dockerfile #内容如下 FROM centos:7 #基于的基础镜像指定为centos:7注意本机要有此基础镜像 MAINTAINER this is apache image test #说明镜像维护人信息为指定用户为test RUN yum -y update RUN yum -y install httpd #镜像RUN指令指定启动容器后的运行命令yum安装update和httpd服务 EXPOSE 80 #开启80端口 ADD index.html /var/www/html/index.html #复制宿主机index.html文件到容器的 /var/www/html/index.html ENTRYPOINT [/usr/sbin/apachectl] CMD [-D,FOREGROUND] #使用前台启动apache注意使用绝对路径如果后台启动启动完shell就结束了容器就结束了保存退出。echo this is test webindex.html #准备网站的网页注意必须在和Dockerfile文件相同的目录 docker build -t httpd:centos . #将dockerfile 文件生成镜像注意最后有个点。 docker images #可查看已经有httpd的包 docker run -d -p 40330:80 httpd:centos #测试安装是否成功新镜像运行容器映射本主机的40330端口为容器的80端口 访问192.168.198.11:40330 进行测试是否可以访问容器的httpd网页扩展 创建Dockerfile的配置文件还有两种方法 1方法一 #创建Dockerfile文件 vim DockerfileFROM centos:7 #基于的基础镜像指定为centos:7注意本机要有此基础镜像 MAINTAINER this is apache images test #说明镜像维护人信息为指定用户为test RUN yum -y install httpd #镜像RUN指令指定启动容器后的运行命令yum安装httpd服务 EXPOSE 80 #开启80端口 ADD index.html /var/www/html/index.html #复制宿主机index.html文件到容器的 /var/www/html/index.html CMD /usr/sbin/apachect -D FOREGROUND #使用前台启动apache注意使用绝对路径如果后台启动启动完shell就结束了容器就结束了保存退出。后再接着准备网站的网页访问等操作 2方法二 vim Dockerfile #基于的基础镜像 FROM centos:7 #维护镜像的用户信息 MAINTAINER this is apache image test #镜像操作指令安装apache软件 RUN yum -y update RUN yum -y install httpd #开启 80 端口 EXPOSE 80 #复制网站首页文件 ADD index.html /var/www/html/index.html #将执行脚本复制到镜像中 ADD run.sh /run.sh RUN chmod 755 /run.sh #保存退出#准备执行脚本 vim run.sh #!/bin/bash rm -rf /run/httpd/* #清理httpd的缓存 /usr/sbin/apachectl -D FOREGROUND #指定为前台运行 #因为Docker容器仅在它的1号进程PID为1运行时会保持运行。如果1号进程退出了Docker容器也就退出了。后再接着准备网站的网页访问等操作 2.dockerfile构建sshd #创建并进入文件夹,每个服务一个文件夹 mkdir /opt/sshd cd /opt/sshdvim Dockerfile #第一行必须指明基于的基础镜像 FROM centos:7 #作者信息 MAINTAINER this is ssh image ssh #镜像的操作指令 RUN yum -y update RUN yum -y install openssh* net-tools lsof telnet passwd RUN echo abc1234 | passwd --stdin root RUN sed -i s/UsePAM yes/UsePAM no/g /etc/ssh/sshd_config #不使用PAM认证 RUN sed -ri /^session\srequired\spam_loginuid.so/ s/^/#/ /etc/pam.d/sshd #取消pam限制 RUN ssh-keygen -t rsa -A #生成密钥认证文件 RUN mkdir -p /root/.ssh chown root.root /root chmod 700 /root/.ssh EXPOSE 22 CMD [/usr/sbin/sshd , -D] #/usr/sbin/sshd -D 用于前台启动sshd服务#生成镜像 docker build -t sshd:centos . #启动容器并修改root密码 docker run -d -P sshd:centos docker ps -a #登入端口镜像 ssh localhost -p 32771 #查看镜像地址 ifconfig3.dockerfile构建systemd mkdir /opt/systemctl cd /opt/systemctl#创建systemd目录 vim Dockerfile #编辑Dockerfile文件内容如下 FROM sshd:centos #以sshd:centos为基础镜像注意要做上面的sshd实例不然无此进项不能制作systemd镜像 MAINTAINER this is systemctl image systemd ENV container docker #除了systemd-tmpfiles-setup.service,删除其它所有文件 RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i systemd-tmpfiles-setup.service ] || rm -f $i;done); \ rm -f /lib/systemd/system/multi-user.target.wants/*; \ rm -f /etc/systemd/system/*.wants/*; \ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target. wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ /sys/fs/cgroup ] CMD [/usr/sbin/init]docker build -t systemd:centos . #生成systemd镜像 docker run --privileged -d -P -v /sys/fs/cgroup:/sys/fs/cgroup:ro systemd:centos /sbin/init #启动容器并挂载宿主机目录挂载到容器中和进行初始化 #--privileged:使container内的root拥有真正的root权限。否则container内的root只是外部的一个普通用户权限。 docker ps -a#进入容器 docker exec -it 56b06afcef9a /bin/bash systemctl start sshd systemctl status sshd方法二 方法二 docker run --privileged -it -P -v /sys/fs/cgroup:/sys/fs/cgroup:ro systemd:centos /sbin/init 4.dockerfile构建nginx mkdir /opt/nginx cd /opt/nginx/ cp /opt/nginx-1.12.2.tar.gz /opt/nginx#创建nginx目录将nginx安装包放到创建的nginx目录下必须与Dockerfile文件在同一目录下 vim Dockerfile #编辑nginx的dockerfile文件内容如下 FROM centos:7 #基于基础镜像centos MAINTAINER this is nginx image nginx #用户信息镜像维护用户为nginx RUN yum -y update #此内容若保存可注释掉 RUN yum -y install pcre-devel zlib-devel gcc gcc-c make RUN useradd -M -s /sbin/nologin nginx #安装编译安装工具 ADD nginx-1.12.2.tar.gz /opt/ #上传nginx软件压缩包docker自动解压 WORKDIR /opt/nginx-1.12.2 RUN ./configure \ --prefix/usr/local/nginx \ --usernginx \ --groupnginx \ --with-http_stub_status_module make make install ENV PATH /usr/local/nginx/sbin:$PATH #指定工作目录 EXPOSE 80 EXPOSE 443 #指定http和https端口 RUN echo daemon off; /usr/local/nginx/conf/nginx.conf #关闭nginx 在后台运行 ADD run.sh /run.sh RUN chmod 755 /run.sh CMD [/run.sh] #添加宿主机中run.sh到容器中 #CMD [/usr/local/sbin/nginx, -g, daemon off;]vim run.sh #创建run.sh脚本注意必须和dockerfile在同一路径下内容如下 #!/bin/bash /usr/local/nginx/sbin/nginx#创建新镜像 docker build -t nginx:centos . docker run -d -P nginx:centos docker ps -a #查看nginx容器,访问80对应的随机端口验证443的端口验证不了ngingx中每家ssl模块#访问之前需提前关闭防火墙 systemctl stop firewalld setenforce 0 访问http://192.168.198.11:32776/5.dockerfile构建tomcat #创建tomcat目录 mkdir /opt/tomcat cd /opt/tomcat #将相关安装包提前导入到opt目录下 cp /opt/jdk-8u91-linux-x64.tar.gz /opt/tomcat cp /opt/apache-tomcat-8.5.16.tar.gz /opt/tomcatvim DockerfileFROM centos:7 MAINTAINER this is tomcat image tomcat ADD jdk-8u91-linux-x64.tar.gz /usr/local/ WORKDIR /usr/local/ RUN mv jdk1.8.0_91 /usr/local/java ENV JAVA_HOME /usr/local/java ENV JRE_HOME ${JAVA_HOME}/jre ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib ENV PATH $JAVA_HOME/bin:$PATH ADD apache-tomcat-8.5.16.tar.gz /usr/local/ WORKDIR /usr/local/ RUN mv apache-tomcat-8.5.16 /usr/local/tomcat EXPOSE 8080 #CMD [/usr/local/tomcat/bin/catalina.sh,run] ENTRYPOINT [/usr/local/tomcat/bin/catalina.sh,run]#创建新镜像 docker build -t tomcat:centos .docker run -d --name tomcat01 -p 1818:8080 tomcat:centos docker ps http://192.168.198.11:18186.dockerfile构建mysql mkdir /opt/mysqld cd /opt/mysqld #将安装包提前导入到/opt目录下 cp /opt/mysql-boost-5.7.20.tar.gz /opt/mysqldvim DockerfileFROM centos:7 MAINTAINER this is mysql image lnmp RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c make;useradd -M -s /sbin/nologin mysql ADD mysql-boost-5.7.20.tar.gz /usr/local/src/ WORKDIR /usr/local/src/mysql-5.7.20/ RUN cmake \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ -DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ -DSYSCONFDIR/etc \ -DSYSTEMD_PID_DIR/usr/local/mysql \ -DDEFAULT_CHARSETutf8 \ -DDEFAULT_COLLATIONutf8_general_ci \ -DWITH_EXTRA_CHARSETSall \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DWITH_ARCHIVE_STORAGE_ENGINE1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ -DMYSQL_DATADIR/usr/local/mysql/data \ -DWITH_BOOSTboost \ -DWITH_SYSTEMD1;make -j4;make install ADD my.cnf /etc/my.cnf EXPOSE 3306 RUN chown -R mysql:mysql /usr/local/mysql/;chown mysql:mysql /etc/my.cnf WORKDIR /usr/local/mysql/bin/ RUN ./mysqld \ --initialize-insecure \ --usermysql \ --basedir/usr/local/mysql \ --datadir/usr/local/mysql/data;cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/;systemctl enable mysqld ENV PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH VOLUME [ /usr/local/mysql ] CMD [/usr/sbin/init]vim /etc/my.cnf [client] port 3306 socket/usr/local/mysql/mysql.sock[mysqld] user mysql basedir/usr/local/mysql datadir/usr/local/mysql/data port 3306 character-set-serverutf8 pid-file /usr/local/mysql/mysqld.pid socket/usr/local/mysql/mysql.sock bind-address 0.0.0.0 skip-name-resolve max_connections2048 default-storage-engineINNODB max_allowed_packet16M server-id 1sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTESvim run.sh #!/bin/bash /usr/local/mysql/bin/mysqld systemctl enable mysqld#创建新镜像 docker build -t mysql:centos .#启动容器并进行初始化 docker run --namemysql_server -d -P --privileged mysql:centos /usr/sbin/init#进容器给权限 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 63d9dc876f59 mysql:centos /usr/sbin/init 8 seconds ago Up 5 seconds 0.0.0.0:32777-3306/tcp, :::32777-3306/tcp mysql_server#进入容器授权远程连接 mysql docker exec -it mysql bash systemctl status mysqldmysql -u root -p grant all privileges on *.* to root% identified by abc123; grant all privileges on *.* to rootlocalhost identified by abc123; flush privileges;#在客户端连接mysql容器 mysql -h 192.168.80.10 -u root -P 32777 -pabc123因mysql占用较大企业mysql不建议安装在容器中 拓展 创建实例时网络报错解决 报错[Warning] IPv4 forwarding is disabled. Networking will not work. 解决方法 vim /etc/sysctl.conf net.ipv4.ip_forward1sysctl -p systemctl restart network systemctl restart docker
http://www.dnsts.com.cn/news/18947.html

相关文章:

  • php做网站示例白沟网站建设
  • 做街机棋牌上什么网站发广告页面在线设计网站
  • 做网站所需要的资质智能logo设计网站
  • 怎样查看网站关键词软件公司市值排名
  • 北京个人制作网站大数据工程技术
  • 免费营销网站制作模板北京中高风险地区最新名单最新
  • 用wordpress做企业网站汕头建设
  • 怎么做返利网站网页制作设计框架
  • wordpress图片站做环保网站案例分析
  • 郑州做网站优化最好的公司安徽网络推广
  • 应聘工作哪个网站比较好建站代理
  • 五个常见的电子商务网站网址cfensi.wordpress
  • 代刷网站推广河南快速网站备案
  • 做塑胶网站需要什么材料重庆网站建设注意事项
  • 怎么自己做网站发优惠券广东网站定制
  • 杨凌做网站中国最大的家装网站
  • 卖书的网站怎么做国内专门做旅游攻略的网站
  • 有没有专门做家纺的网站网站后台文章字体
  • 汕头网站建设科技有限公司在线支付的网站怎么做
  • 深圳网站建设公司地图南宁企业自助建站系统
  • 杭州网站建设ttmwl七牛云wordpress图床
  • 访问阿里云主机网站固原住房和城乡建设厅网站
  • 最新军事新闻头条聊城关键词优化推广
  • 博客网站开发教程济南网站建设多少钱
  • 做配音任务的网站装饰工程师
  • 网站设计网站类型移动网站优化
  • 手机网站建设网站报价php开发企业网站教程
  • 建设部监理工程师网站居然之家装修公司官网
  • 电脑QQ浮动窗口怎做电脑网站wordpress免费下载
  • 行业类门户网站建设方案点击图片直接进入网站怎么做