User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • 交换机
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   docker   ›   正文
docker

docker部署常见容器合集

2022-11-04 16:00:59
823  0 0

docker安装单个nginx,挂载目录,映射端口

    下载              
    docker pull nginx               

    创建              
    docker create -it --name n3-itpv -p 10000:80 -v /n3/:/n3 nginx              
        说明 10000为主机端口 80为nginx容器内端口         
    启动              
    docker start n2-it              
    docker start n2             
    进入容器                
    docker exec -it cf /bin/bash                

    docker内默认 nginx文件位置             
        日志目录 : /var/log/nginx           
        配置目录 : /etc/nginx/conf.d/default.conf           
        主配置文 : /etc/nginx/nginx.conf            
        项目目录 : /usr/share/nginx/html nginx          
        日志目录 :  /var/run/nginx.pid      
    容器内安装vim                
        apt-get update          
        apt-get install vim         
        apt-get update是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包            
    有问题解决update慢            
            mv /etc/apt/sources.list /etc/apt/sources.list.bak      
            echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.list     
            echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list     
            echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list      
            echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list     
            #更新安装源      
            apt-get update      

    修该nginx配置               
        修改nginx.conf 指定挂载目录为root目录          
        修改nginx.conf 指定日志目录为挂载目录            

    重启容器                
        docker stop id  ,docker start id或docker restart id                      
        即可在宿主机目录添加文件 同步到nginx 的 root目录          
        即可在宿主机目查看nginx运行日志          

    问题  修改容器内的nginx.conf 设置主目录无效            
    解决  修改或删除/etc/nginx/conf.d/default.conf             

docker安装redis,容器互联

    创建 redis-db容器   
    docker create -it --name redis-db -p 10003:6379  redis  

    创建 redis-link容器 
    docker create -P --name redis-db-link1 --link redis-db:l1 redis 

    redis-link安装ping    
    apt-get update  
    apt install iputils-ping    

    在redis-link容器即可访问redis-db容器 
    ping redis-db   
    ping id 
    ping linkname   

    修改/etc/hosts文件也可实现互联?   

docker安装mongodb单节点,挂载

    docker pull mongo:latest            
    mkdir -p /mongo/{mongo_test/{data,conf,log},mongo_01/{data,conf,log}}   
    创建mongo.conf    
        (配置表1)

    docker create -it --name mo2 -p 20004:27017 -v /mongo/mongo_01/data:/data/db -v /mongo/mongo_01/conf:/conf -v /mongo/mongo_01/log:/log mongo -f /conf/mongo.conf    
    docker create -it --name m2 -p 20002:27017 mongo --auth 
        -auth:需要密码才能访问容器服务

    docker start xx 

    docker exec -it xx /bin/bash    
    docker exec -it mongo mongo admin   

    添加用户    
    use admin   
    db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});   

    测试  
    db.auth('admin', '123456')  

docker安装python环境

    下载      
    docker pull python:3.7.4        

    创建      
    docker create -it -v /py1:/py1 --name py37-3 python:3.7.4       

    启动      
    docker start xxx        

    进入容器        
    docker exec -it cf /bin/bash        

    容器内可执行      
    python ./py1/a.py       
    pip install…        

docker安装mysql单机,挂载数据库文件到本地 详细文档

    docker mysql8 默认文件位置                
        #/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf            
        #数据文件   /var/lib/mysql/     

    在宿主机创建存放mysql数据的文件夹             
        mkdir -p /mysql         

    下载mysql镜像,默认下载mysql8最新版             
        docker pull mysql           

    创建mysql容器               
        docker create -p 10008:3306 --restart=always --name mysql8 -v /mysql/mysql_08/log:/var/log/mysql -v /mysql/mysql_08/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=xxx -it  mysql          
            #-p 10008:3306 指定映射容器的3306到宿主机的10008        
            #--restart=always #自动重启或启动      
            #--name mysql8 #指定容器名称      
            #-v /mysql/mysql_08/log:/var/log/mysql #挂载目录        
            #-v /mysql/mysql_08/data:/var/lib/mysql         
            #-v /etc/localtime:/etc/localtime       
            #-e MYSQL_ROOT_PASSWORD=qwedwqtyu67 #自定义mysql root初始密码      
            #-it  mysql 指定使用的镜像     

    启动mysql容器               
        docekr start mysql8         

    进入mysql容器               
        docker exec -it mysql8 /bin/bash            
        在mysql容器内执行         
            mysql -uroot -p     
            #连接     

            mysql> GRANT ALL ON *.* TO 'root'@'%';      
            #开启远程访问权限       

            mysql> flush privileges;        
            #刷新配置,即可生效设置        

    退出mysql容器               
        #退出操作:ctrl+d            
                    mkdir -p mysql_08m/{data,log,mysql-files}
    设置宿主机防火墙firewalld打开端口               mkdir -p mysql_08s/{data,log,mysql-files}
        打开防火墙           
            systemctl start firewalld       

        添加端口            
            firewall-cmd --zone=public --add-port=10008/tcp --permanent     

        重载防火墙配置         
            firewall-cmd --reload       

        检查端口开放情况            
            firewall-cmd --list-ports       

    使用远程连接工具测试 连接mysql              
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
213 文章 2 评论 201972 浏览
测试
测试