1
本篇来自于尚硅谷周阳老师 https://www.bilibili.com/vide...
上一篇:docker 入门到实战(六)dockerFile解析

七:docker常用安装

看完前面六章 这一章比较容易

7.1 总体步骤

  • 搜索镜像
  • 拉取镜像
  • 查看镜像
  • 启动容器
  • 停止容器
  • 移除容器

7.2 安装mysql

7.2.1 搜索镜像

image.png

7.2.2 拉取镜像

image.png

7.2.3 查看镜像

image.png

7.2.4 启动容器
docker run -di -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root  mysql

image.png

7.2.4.1 测试连接

image.png

7.2.4.2 sqlyog连接

出现无法连接的情况
这个错误的原因是由于MySQL8.0之后的加密规则为caching_sha2_password.而在此之前的加密规则为mysql_native_password
image.png

解决办法:在容器内执行

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';

image.png

image.png

7.2.4.3 测试
CREATE DATABASE class
USE class
CREATE TABLE t_student(
 id  INT PRIMARY KEY,
 NAME VARCHAR(20) 
)ENGINE=INNODB CHARSET=utf8

INSERT INTO t_student VALUES(1,"张三")

image.png

7.2.4.4 数据备份
docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"root" ' > /root/backups.sql
7.2.5 停止容器

image.png

7.2.6 移除容器

image.png

7.3 安装redis

7.3.1 搜索镜像

image.png

7.3.2 拉取镜像

image.png

7.3.3 查看镜像

image.png

7.3.4 启动容器

image.png

7.3.5 测试

测试宿主机连接

docker exec -it 运行着Rediis服务的容器ID redis-cli

image.png

测试外部连接
image.png

7.4 安装nginx

7.4.1 搜索镜像

image.png

7.4.2 拉取镜像

image.png

7.4.3 查看镜像

image.png

7.4.4 启动容器
7.4.4.1 创建一个初始容器

只是为了取出其中的配置文件 要是有配置文件就不用取
image.png

image.png

7.4.4.2 创建挂载目录
mkdir -p /usr/local/nginx/{conf,logs}

image.png

7.4.4.3 从容器中取出配置文件到宿主机中

image.png

7.4.4.4 创建容器带挂载目录
docker run -id -p 8080:80 -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs:/var/log/nginx nginx
7.4.4.5 创建两个tomcat修改主页

image.png

在两个容器中分别创建 ROOT 文件夹
image.png

复制index.html到容器中
image.png

测试访问
image.png

7.4.4.6 修改nginx配置文件 nginx.conf

实现负载均衡


user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  自己的ip;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        proxy_pass http://pic; 
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    upstream pic{
                server 自己的ip:9001 weight=5;
                server 自己的ip:9002 weight=5;
    }
}
7.4.5 测试

image.png

下一篇:

docker 入门到实战(八)本地镜像发布到阿里云


Remember
24 声望3 粉丝

蓝色空间号里的blueBoy