zoukankan      html  css  js  c++  java
  • dockerfile创建镜像及容器

    第一步:
    进入下图的文件夹中
    然后执行以下的说明执行步骤
     
    第二步:
    开发环境dockerfile
    BUILD
    docker build -t silentmoon/centos7:devel -f centos7_ssh_devel .
    咖啡时间,请保持网络连接,如果网速慢的话,就别继续往下看了。
    RUN
    docker run -d -P --name devel_centos7_ssh -h develop silentmoon/centos7:devel
    没有报错就说明镜像启动正常 docker ps 看一下是否存在
    ACCESS
    • User/Password: work/qwe!@#bnm root/4man49a52e27
    • Method of ssh
    ssh work@127.0.0.1 -p32768一般情况是32768,docker ps查看一下
    • Method of docker
    docker exec -it 9e34e8ff45ea bash container id 需要自己查看
    • Method of Shell
    ln -s `pwd`/devel ~/bin/devel chmod 755 ~/bin/devel devel
    Work Directory Structure
    cd ~ mkdir app mkdir env mkdir src mkdir tmp mkdir tar mkdir bin
    Nginx Install
    GET
    cd ~/src wget http://www.oursdata.com/misc/nginx-1.10.2.tar.gz tar -zxvf nginx-1.10.2
    Configure & Make
    cd ~/src/nginx-1.10.2 ./configure --prefix=/home/work/env/nginx --sbin-path=/home/work/env/nginx/sbin/nginx --conf-path=/home/work/env/nginx/conf/nginx.conf --error-log-path=/home/work/env/nginx/error-log --pid-path=/home/work/env/nginx/run/nginx.pid --lock-path=/home/work/env/nginx/lock/nginx.lock --user=work --group=work make && make install
    补充:默认下nginx是没有启动的,需要进入sbin文件下,./nginx 启动    ./nginx -s reload 重新加载nginx  
     
     
    PHP Install
    GET
    cd ~/src wget http://www.oursdata.com/misc/php-5.6.29.tar.gz tar -zxvf php-5.6.29.tar.gz
    Configure & Make
    cd ~/src/php-5.6.29 ./configure --prefix=/home/work/env/php --with-config-file-path=/home/work/env/php/etc --with-mysqli --with-pdo-mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype make && make install
     
    补充:etc文件下是没有php.ini文件,需要到80服务器上复制一个配置文件过来且可以同时把80服务器上的ext下扩展文件也拷贝过来,然后去sbin文件执行
    ./php-fpm -c ../etc/php.ini 
     
     
    设置nginx配置文件
    再nginx的结尾处nginx.conf
    加上 include hosts/*.conf;
    然后再conf文件夹下新建一个hosts文件夹,在hosts文件新建
    配置文件如:tianjian.conf
    server {
        listen       80;
        index index.php;
        root /home/work/app/tj-bdaas/src/tj-bdaas/src/web/web;     
        server_name  tianjian.loc.cn;                                             
         location / {
                       index index.php;
                       if (!-e $request_filename){
                          rewrite ^/(.*) /index.php last;                 }
              }
     
        location ~ .php$
        {
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
                fastcgi_param PATH_INFO $fastcgi_script_name;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
    配置文件完成后,进入sbin文件下   执行  ./nginx -s reload 
    最后去 vim /etc/hosts 文件下配置自己的虚拟域名,如下图
     
     
     
    第三步
    此时容器里面的nginx和php 已经安装完成,现在可以把这个容易做成一个镜像
    docker commit -m "change somth" -a "somebody info" container_id(docker ps -a获取id) 新镜像名字        //docker使用现有容器生成新的镜像
    这样就会生成一个新的镜像
    通过docker images
    就会看到自己制作的镜像
     
    第四步 把自己镜像再放到容器里面
    docker制作镜像
    docker run -p 127.0.0.1:80:80 -p 127.0.0.1:32766:22 -d -v /usr/local/var/www/:/home/work/app tang/centos_devel:latest
    docker run -p 127.0.0.1:80:80  -d -P --name devel_centos7_ssh -h develop  -v /Users/zhangyougang/app:/home/work/app silentmoon/centos7:devel
     
    这样就大功告成了!
     
     
    如果数据库为mongodb库,需要安装下mongo  数据库
    docker pull mongo      //由于网络原因,可能会报错,多pull几次就可以
    docker pull mongo -express     //由于网络原因,可能会报错,多pull几次就可以
     
     
    创建mongoldb容器
     
    docker run —name mongo -p 27017:27017 -d mongo
     
    创建mongo-expres容器
     
    docker run —link mongo:mongo —name mongo-express -p 8081:8081 -d mongo-express
     
     
    sudo docker inspect mongo  查看mongo的ip地址
     
     
    进入容器
    docker exec -it mongo名字 bin/bash
  • 相关阅读:
    数字图像-概述
    Python-python打包编译成pyd或者.so,保护代码。
    计算机组成原理-概述
    9大开源云管理平台(CMP)
    计算机组成原理-CPU-CPU知识科普:秒懂主频、核心、线程、缓存、架构详解
    svn git协同管理
    DEVTMPFS
    关于flash擦除的方法
    SQLServer强制保存
    360极速浏览器无法正确getHours
  • 原文地址:https://www.cnblogs.com/jiangtian/p/8366598.html
Copyright © 2011-2022 走看看