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

七:docker常用安装

7.1 总体步骤

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

    7.2 安装mysql

    7.2.1 搜索镜像

    1.png

    7.2.2 拉取镜像

    2.png

    7.2.3 查看镜像

    3.png

    7.2.4 启动容器

    1. docker run -di -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
    4.png

    7.2.4.1 测试连接

    5.png

    7.2.4.2 sqlyog连接

    出现无法连接的情况
    这个错误的原因是由于MySQL8.0之后的加密规则为caching_sha2_password.而在此之前的加密规则为mysql_native_password
    6.png
    解决办法:在容器内执行
  1. ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';

7.png

8.png

7.2.4.3 测试

  1. CREATE DATABASE class
  2. USE class
  3. CREATE TABLE t_student(
  4. id INT PRIMARY KEY,
  5. NAME VARCHAR(20)
  6. )ENGINE=INNODB CHARSET=utf8
  7. INSERT INTO t_student VALUES(1,"张三")

9.png

7.2.4.4 数据备份

  1. docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"root" ' > /root/backups.sql

7.2.5 停止容器

10.png

7.2.6 移除容器
11.png

7.3 安装redis

7.3.1 搜索镜像

12.png

7.3.2 拉取镜像

13.png

7.3.3 查看镜像

14.png

7.3.4 启动容器
15.png

7.3.5 测试

测试宿主机连接

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

16.png
测试外部连接
17.png

7.4 安装nginx

7.4.1 搜索镜像

18.png

7.4.2 拉取镜像

19.png

7.4.3 查看镜像

20.png

7.4.4 启动容器

7.4.4.1 创建一个初始容器


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

7.4.4.2 创建挂载目录

  1. mkdir -p /usr/local/nginx/{conf,logs}

23.png

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

24.png

7.4.4.4 创建容器带挂载目录

  1. 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修改主页
1.png
在两个容器中分别创建 ROOT 文件夹
2.png
复制index.html到容器中
3.png
测试访问
4.png

7.4.4.6 修改nginx配置文件 nginx.conf

  1. user nginx;
  2. worker_processes 1;
  3. error_log /var/log/nginx/error.log warn;
  4. pid /var/run/nginx.pid;
  5. events {
  6. worker_connections 1024;
  7. }
  8. http {
  9. include /etc/nginx/mime.types;
  10. default_type application/octet-stream;
  11. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  12. '$status $body_bytes_sent "$http_referer" '
  13. '"$http_user_agent" "$http_x_forwarded_for"';
  14. access_log /var/log/nginx/access.log main;
  15. sendfile on;
  16. #tcp_nopush on;
  17. keepalive_timeout 65;
  18. #gzip on;
  19. include /etc/nginx/conf.d/*.conf;
  20. server {
  21. listen 80 default_server;
  22. listen [::]:80 default_server;
  23. server_name 自己的ip;
  24. root /usr/share/nginx/html;
  25. # Load configuration files for the default server block.
  26. include /etc/nginx/default.d/*.conf;
  27. location / {
  28. proxy_pass http://pic;
  29. }
  30. error_page 404 /404.html;
  31. location = /40x.html {
  32. }
  33. error_page 500 502 503 504 /50x.html;
  34. location = /50x.html {
  35. }
  36. }
  37. upstream pic{
  38. server 自己的ip:9001 weight=5;
  39. server 自己的ip:9002 weight=5;
  40. }
  41. }

7.4.5 测试

5.png
下一篇:

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