zoukankan      html  css  js  c++  java
  • docker 实战操作

    docker 安装mysql

        ## 查询mysql
        docker search mysql
        
        ## 安装mysql.没有指定版本就会下载最新的版本
        docker pull mysql
        
        ## 查看镜像
        docker images
        
        ## 在data下创建mysql 目录
        mkdir /data/
        cd /data
        mkdir mysql_docker
        cd mysql_docker
        echo $PWD
        
        ## 启动mysql容器,在var/lib/docker/containers/下查看容器
        sudo docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest
        
        
        ## 进入mysql容器,并登陆mysql
        docker exec -it mysqlserver bash
        mysql -uroot -p
        
        ## 开启远程访问权限
        use mysql;
        select host,user from user;
        ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
        flush privileges;
    
    ### 命令说明:
    -p 3306:3306:将容器的3306端口映射到主机的3306端口
    -v :将主机当前用户目录下的mysql文件夹挂载到容器的文件夹下 下,在mysql容器中产生的数据就会保存在本机mysql目录下
    -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
    -d 后台运行容器
    --name 给容器指定别名
    --privileged=true  可能会碰到权限问题,需要加参数
    

    docker 安装nginx

        ## 先安装nginx镜像,不指定版本时默认下载最新版本。
        docker pull nginx
        
        ## 创建一个容器并运行命令 (为了生成后续php-nginx的配置文件)
        sudo docker run --name nginx-test -p 8081:80 -d nginx
        
        ## 创建文件
        mkdir -p   /www /data/nginx/logs /data/nginx/conf
        
        ## 拷贝虚拟机中的nginx配置文件到本地服务器
        sudo docker cp 容器id:/etc/nginx/nginx.conf /data/nginx/conf
    
     
    
    
    run:创建一个新的容器
    --name:指定容器的名称(如果留空,docker会自动分配一个名称)
    -p:导出容器端口到本地服务器,格式:-p <local-port>:<container-port>。在本例中,我们映射容器的80端口到本地服务器的80端口。
    nginx:是 Dockerhub 上下载nginx镜像名称(如果本地没有可用的镜像,Docker会自动下载一个)
    -d:后台启动。
    

    docker 安装php

        ## 拉取镜像
        docker pull php
        
        ## 启动php
        docker run --name  php74 -v /www:/www  -d php:7.4-fpm
        
        ## 创建php-nginx配置文件目录
        mkdir /data/nginx/conf/conf.d 
        
        ## 在该目录下添加/data/nginx/conf/conf.d/runoob-test-php.conf 文件,内容如下:
    
        server {
        listen       80;
        server_name  localhost;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        location ~ .php$ {
            fastcgi_pass   php72:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
        
        ## 启动nginx
        sudo docker run --name php-nginx -p 80:80 -d  -v /www:/usr/share/nginx/html -v /data/nginx/conf/conf.d:/etc/nginx/conf.d:ro  --link php74:php nginx
        
    
    

    docker 安装Redis

        ## 创建数据与配置文件目录
        mkdir /data/redis/data
        mkdir /data/redis/conf/redis.conf
        redis.conf配置文件可如下
            #bind 127.0.0.1 //允许远程连接
            protected-mode no
            appendonly yes //持久化
            requirepass 123456 //密码 
        docker run -p 6379:6379 --name redis01 -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
    
        ## 启动redis
        docker run -d --name redis -p 6379:6379 redis:latest redis-server --appendonly yes --requirepass “zxc123”
    

    docker 安装php扩展

    ## 进入容器&&安装扩展
    ## 相关依赖安装
    方法1:
    apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev
    #安装mysqli
    docker-php-ext-install mysqli
    方法2:
    pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis
    方法3:
    docker exec -it php /bin/bash #进入php容器
    #相关依赖安装
    apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev
    pecl install swoole-4.2.12 #安装swoole拓展
    docker-php-ext-enable swoole #启用swoole拓展
    
    
    最后重启php  docker restart php
    
    • 注意事项:
fastcgi_pass 对应的地址是PHP镜像地址
      docker inspect --format='{{.NetworkSettings.IPAddress}}' php72-fpm //查看php镜像的ip地址
      
补充命令:
    •   将主机/data/conf/conf.d/default.conf目录拷贝到容器96f7f14e99ab的/etc/nginx/conf.d/default.conf目录下
docker cp /data/conf/conf.d/default.conf d0224e584cd7:/etc/nginx/conf.d/default.conf
      
    •   以特权方式运行容器
docker run -it --privileged=true -d nginx
      

    docker 安装hyperf

        ## 安装
        docker run --name hyperf 
        -v /www/hyperf:/data/project 
        -p 9501:9501 -it 
        --privileged -u root 
        --entrypoint /bin/sh 
        hyperf/hyperf:7.4-alpine-v3.11-swoole
    

    docker 安装gitlab

        ## 安装
       docker run --name='gitlab-ce' -d -p 10022:22 -p 80:80 --restart always --volume /data/gitlab/config:/etc/gitlab --volume /data/gitlab/logs:/var/log/gitlab --volume /data/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce
       
       --volume : 第一个路径为本地路径, 第二个为docker中gitlab服务器路径
       
       1. 修改/data/gitlab/config/etc/gitlab.rb 
          将external_url改为你的ip地址
       2. 修改改/data/gitlab/data/gitlab-rails/etc/gitlab.yml
          将host修改成ip地址
          将端口改为你需要的端口
    
    

    docker安装phpstudy

    1. docker pull centos
    2. docker run -i -t -d --name phpstudy -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 9080:9080 -p 3306:3306  --privileged=true -v /Users/jason/Desktop/data/docker/centos/www:/www centos
    3. docker exec -it 容器id  /bin/bash (进入centos容器)
    4.  yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh
    
  • 相关阅读:
    git和svn
    [Luogu] P1144 最短路计数
    [Luogu] CF280C Game on Tree
    LCA的一种优秀实现方式(倍增+dfs序)
    [Luogu] P1131 [ZJOI2007]时态同步
    [Luogu] P2285 [HNOI2004]打鼹鼠
    背包相关问题总结
    【笔记】模拟梯度下降法的实现
    【笔记】梯度下降法的简单了解
    【笔记】线性回归的可解性和更多思考及线性回归总结
  • 原文地址:https://www.cnblogs.com/zlzxc/p/14984991.html
Copyright © 2011-2022 走看看