zoukankan      html  css  js  c++  java
  • linux 使用docker安装软件

    1、安装nginx

    参考:https://juejin.cn/post/6844904016086827016

    一、获取nginx镜像

    docker search nginx # 获取nginx镜像列表
    
    docker pull nginx # 拉取官方最新镜像到本地
    
    docker images nginx # 查看拉取到本地的nginx镜像IMAGE ID
    

    二、创建nginx容器

    测试下nginx镜像是否可用

    docker run -d --name mynginx -p 80:80 7baf
    
    • -d 指定容器以守护进程方式在后台运行
    • --name 指定容器名称,此处我指定的是mynginx
    • -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口
    • 231d 是nginx的镜像IMAGE ID前4位

    命令执行后返回了容器ID,682bd....,此时我们已经成功创建了nginx容器.

    在浏览器访问CentOS主机,会看到nginx欢迎页

    三、将nginx容器内部配置文件挂载到主机

    2、安装mysql

    参考:https://blog.csdn.net/J080624/article/details/104297654

    (ps:使用docker部署nginx容易产生403或者访问不到主机服务等问题,多半是配置不当)

    一、获取mysql镜像

    docker search mysql
    
    docker pull mysql:5.6.45
    
    docker images mysql
    

    二、创建mysql容器

    docker run -p 3306:3306 --name mysql -v /opt/soft/mysql/conf:/etc/mysql/conf.d -v /opt/soft/mysql/logs:/var/log/mysql -v /opt/soft/mysql/data:/var/lib/mysq -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6.45 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    
    • -p 3306:3306:将主机的3306端口映射到docker容器的3306端口。
    • --name mysql:运行服务名字
    • -v /opt/soft/mysql/conf:/etc/mysql/conf.d :将主机/mydocker/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
    • -v /opt/soft/mysql/logs:/var/log/mysql:将主机/mydocker/mysql目录下的 logs 目录挂载到容器的 /logs。
    • -v /opt/soft/mysql/data:/var/lib/mysql :将主机/mydocker/mysql目录下的data目录挂载到容器的 /var/lib/mysql
    • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
    • -d mysql:5.7 : 后台程序运行mysql5.6.45
    • --character-set-server=utf8mb4 :设置字符集
    • --collation-server=utf8mb4_unicode_ci:设置校对集

    查看容器日志:

    docker logs -f -t --tail 100 667bf66d4e5d
    

    进入容器内部查看:

    docker exec -it 667bf66d4e5d /bin/bash
    

    退出容器的方式:

    exit–容器停止退出
    crtl+p+q—容器不停止退出
    

    三、将nginx容器内部配置文件挂载到主机

    1、在主机 /opt/soft 目录下执行mkdir -p ./nginx/{conf,html,logs}

    2、将容器内的nginx.confdefault.conf文件分别拷贝到主机 /opt/soft/nginx 与目录 /opt/soft/nginx/conf 下,分别执行 :

    • cp 命令代表复制
    • ef是我们nginx容器的ID,/etc/nginx/nginx.conf 是容器内部nginx.conf 路径
    docker cp ef:/etc/nginx/nginx.conf ./
    docker cp ef:/etc/nginx/conf.d/default.conf ./conf/
    

    3、停止刚刚创建的nginx容器,ef是容器ID

    docker stop ef 
    docker rm ef
    

    4、重新创建nginx容器

    docker run -d --name mynginx -p 80:80 -v /opt/soft/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/soft/nginx/logs:/var/log/nginx -v /opt/soft/nginx/html:/usr/share/nginx/html -v /opt/soft/nginx/conf:/etc/nginx/conf.d --privileged=true 7baf
    
  • 相关阅读:
    英语八大时态
    linux yum被占用
    文件上传ajaxfileupload.js插件
    jquery.qrcode.js生成二维码
    判断手机,pc方式登录
    点击小图轮播,点击显示大图
    图片预览功能
    Java Hash表 数据结构
    Java Tree 树 数据结构
    Java Queue 队列
  • 原文地址:https://www.cnblogs.com/flypig666/p/14149992.html
Copyright © 2011-2022 走看看