• docker部署


     docker的部署与安装

    1.1. 安装Docker

     

    1.1.1. 安装工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    1.1.2. 添加dockeryum

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    sudo yum makecache fast

    1.1.3. 安装Docker

    sudo yum install docker-ce docker-ce-cli containerd.io

    1.1.4. 启动&开机启动

    sudo systemctl start docker

    systemctl enable docker

    1.1.5. 测试Docker

    docker run hello-world

    能出出来一句话 hello docker”就是ok

    或者也可以通过查看版本来测试:docker version

     

     

    2.1. Docker镜像加速器(阿里云)

     

    配置加速器,否则下载镜像的时候回比较慢,默认是从docker hub下载

    vi /etc/docker/daemon.json

    {

      "registry-mirrors": ["https://5pfmrxk8.mirror.aliyuncs.com"]

    }

    sudo systemctl daemon-reload          //重新加载配置

    sudo systemctl restart docker           //重启docker

     

    或者直接执行:

    sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://5pfmrxk8.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

    3.1. Docker服务操作

     

    启动dockersystemctl start docker

    停止dockersystemctl stop docker

    重启dockersystemctl restart docker

    查看docker状态:systemctl status docker

    开机启动:systemctl enable docker

    查看docker概要信息:docker info

    查看docker帮助文档:docker --help

     

     

     

    4. 部署项目-基础环境

     

    4.1.MySQL部署

    1.1.1. 拉取MySQL镜像

    docker pull mysql:5.7

     

    查看镜像

    docker images

    1.1.2. 创建MySQL容器

    docker run -di --name pethome_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

    -p 代表端口映射,格式为  宿主机映射端口:容器运行端口

    -e 代表添加环境变量  MYSQL_ROOT_PASSWORDroot用户的登陆密码

    1.1.3. 进入MySQL容器,登陆MySQL

    进入mysql容器

    docker exec -it pethome_mysql /bin/bash

    登陆mysql

    mysql -uroot -p123456

    1.1.4. 远程登陆MySQL

    开启远程访问

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

    flush privileges;

     

    1)我们在我们本机的电脑navicat上去连接虚拟机Centos中的Docker容器,这里192.168.246.130是虚拟机操作系统的IP

    2)在本地客户端执行建库脚本

    执行“资源/建库语句/pethomedb.sql

    1.1.5. 查看容器IP地址

    我们可以通过以下命令查看容器运行的各种数据

    docker inspect pethome_mysql

    运行效果如下:

     

      

     

    我们可以看到我们的数据库服务器的IP172.16.0.2 

     

     

     

     

    4.2. Redis部署

    1.1. 

    1.1.1. 拉取Redis镜像

    centos是基础镜像

    docker pull redis

    1.1.2. 创建Redis容器

    docker run -di --name pethome_redis -p 6379:6379 redis --requirepass "123456"

     

    1.1.3. 客户端测试

    在你的本地电脑命令提示符下,用window版本redis测试

    redis-cli -h 192.168.246.135

     

     

     

    4.3 Nginx部署

    1.1.1. 拉取Nginx镜像

    docker pull nginx

    1.1.2. 创建Nginx容器

    docker run -di --name=pethome_nginx -p 80:80 nginx

    1.1.3. 测试Nginx

    浏览器地址栏输入: http://192.168.246.135 

     

     

     

     

    整理的docker代码是:

     

    nginx:

    启动: start nginx.exe localhost 默认端口是80
    停止: nginx.exe -s stop
    重新加载: nginx.exe -s reload 修改了配置文件的时候需要重新加载.

    Docker
    启动docker:systemctl start docker
    停止docker:systemctl stop docker
    重启docker:systemctl restart docker
    查看docker状态:systemctl status docker


    Docker 镜像的操作
    查看镜像:docker images
    搜索镜像:docker serach [镜像名字]
    镜像下载:docker pull [镜像名字:版本]
    镜像的移除:docker rmi [镜像名字:版本]/[镜像的id]
    移除全部镜像:docker rmi `docker images -q`

    Docker 容器操作
    查看运行的容器:docker ps -a
    启动容器:docker run
    -i:表示运行容器
    -t:表示容器启动后会进入容器命令行(交互式)。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
    --name :为创建的容器命名。
    ex:docker run -it --name=[自定义名字] 镜像名字:版本 /bin/bash
    注:启动容器并进入命令行 退出 exit 会关闭容器
    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
    守护式: docker run -i -d --name=容器名字 -p=外端口:内端口 镜像名字:版本号
    注:启动容器 在后台运行

    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    ex: docker run -id --name=[容器名字] -p=外端口:内端口 -v=外部目录路径:内部目录路径 镜像名字:版本号


    其他命令:

    进入守护式容器:docker exec -it 容器的名字 /bin/bash [使用exit命令不会关闭容器]
    关闭启动的容器:docker stop [容器的名字]
    启动关闭状态的容器:docker start [容器的名字]
    删除容器:docker rm [容器的名字/ID]
    删除所有容器:docker rm `docker ps -a -q`
    查看容器的IP: docker inspect [容器的名字]


    实战:
    1.安装mysql
    docker run -id --name=mysql57 -p=3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

    2.安装redis
    docker run -id --name=redis -p=6379:6379 redis --requirepass "123456"


    构建镜像:
    1.基于容器构建【就是把一个运行的容器再次打包】
    docker commit [容器名字] 新镜像的名字:版本号



















     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

        server {

            listen       80;

            server_name  admin.pethome.com;

            location / {

                root   pethome_admin;

                index  index.html;

            }

        }

        server {

            listen       80;

            server_name  www.pethome.com;

            location / {

                root   pethome_front;

                index  home.html;

            }

        }

    https://blog.csdn.net/SEVENY_/article/details/103856623

  • 相关阅读:
    从新浪财经获取金融新闻类数据并进行打分计算
    SQL窗口函数的用法总结
    从新浪财经获取金融新闻类数据并保存到MySQL
    [ZJOI2015]幻想乡战略游戏
    二次剩余入门
    [多校赛20210406]迫害 DJ
    [NOI Online 2021 提高组] 愤怒的小N
    [NOI Online 2021 提高组] 岛屿探险
    「UNR #3」百鸽笼
    [ZJOI2019]开关
  • 原文地址:https://www.cnblogs.com/china10/p/14551622.html
Copyright © 2020-2023  润新知