本篇来自于尚硅谷周阳老师 https://www.bilibili.com/vide...
上一篇:docker 入门到实战(六)dockerFile解析
七:docker常用安装
看完前面六章 这一章比较容易
7.1 总体步骤
- 搜索镜像
- 拉取镜像
- 查看镜像
- 启动容器
- 停止容器
- 移除容器
7.2 安装mysql
7.2.1 搜索镜像
7.2.2 拉取镜像
7.2.3 查看镜像
7.2.4 启动容器
docker run -di -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
7.2.4.1 测试连接
7.2.4.2 sqlyog连接
出现无法连接的情况
这个错误的原因是由于MySQL8.0之后的加密规则为caching_sha2_password.而在此之前的加密规则为mysql_native_password
解决办法:在容器内执行
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
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,"张三")
7.2.4.4 数据备份
docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"root" ' > /root/backups.sql
7.2.5 停止容器
7.2.6 移除容器
7.3 安装redis
7.3.1 搜索镜像
7.3.2 拉取镜像
7.3.3 查看镜像
7.3.4 启动容器
7.3.5 测试
测试宿主机连接
docker exec -it 运行着Rediis服务的容器ID redis-cli
测试外部连接
7.4 安装nginx
7.4.1 搜索镜像
7.4.2 拉取镜像
7.4.3 查看镜像
7.4.4 启动容器
7.4.4.1 创建一个初始容器
只是为了取出其中的配置文件 要是有配置文件就不用取
7.4.4.2 创建挂载目录
mkdir -p /usr/local/nginx/{conf,logs}
7.4.4.3 从容器中取出配置文件到宿主机中
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修改主页
在两个容器中分别创建 ROOT 文件夹
复制index.html到容器中
测试访问
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 测试
下一篇:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。