云原生学习作业2

一、搭建配置harbor私有仓库;

 

 二、掌握docker网络;

docker网络主要有4中模式: bridge(桥接模式)、host(主机模式) 、none(无网络模式) 、container(寄生模式)

1, bridge模式: 桥接模式是docker 的默认网络设置,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥。网络模式选择桥接模式的容器,就会连接上docker0这个网桥,在通过nat的转换,通过宿主机的网卡,连接外网,就能达到上外网的目的。

2,host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。这种模式的好处就是网络性能比桥接模式的好。缺点就是会占用宿主机的端口,网络的隔离性不太好.

3,none模式:使用none模式,Docker 容器拥有自己的Network Namespace ,但是并不为Docker 容器进行任何网络配置。这个Docker 容器没有网卡、IP、路由等信息。这种网络模式下容器只有lo回环网络,没有其他网卡。这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。

4,container模式:container模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace (网络命名空间),而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo 网卡设备通信。

三,安装docker-compose并利用它组装一个多容器的服务:如nginx、mysql、php

访问nginx

 

 通过nginx访问php

 

 通过php访问mysql

 

 docker-compose.yml文件如下:

version: "3"
services:
  nginx:
     image: nginx:latest
     container_name: nginx
     ports:
      - "8080:80"
     volumes:
      - ./www/:/usr/share/nginx/html/
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
     environment:
      TZ: "Asia/Shanghai"
     restart: always
     networks:
      - default
     links:
      - php
      - mysql
  php:
    image: crunchgeek/php-fpm:7.0-r7
    container_name: php
    ports:
      - "9000:9000"
    volumes:
      - ./www/:/var/www/html/
    restart: always
    cap_add:
      - SYS_PTRACE
    networks:
      - default
    links:
      - mysql

  mysql:
    image: mysql:5.7
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/data:/var/lib/mysql/
    restart: always
    networks:
      - default
    environment:
      MYSQL_ROOT_PASSWORD: "asd123456"
      MYSQL_DATABASE: magtest
      MYSQL_USER: magtest
      MYSQL_PASSWORD: "asd123456"
      TZ: "Asia/Shanghai"
networks:
  default:

通过php访问mysql文件如下:

1 <?php
2 // 创建连接
3 $conn = new mysqli('mysql','root','asd123456');
4 // 测试连接
5 if($conn->connect_error){
6     die("连接失败,错误:" . $conn->connect_error);
7 }
8 echo "connect success";

 

posted @ 2022-11-15 15:16  chenjie2020  阅读(56)  评论(0)    收藏  举报