当前位置: 首页> 教育> 就业 > 成立网站要营业执照吗_泰安招聘信息最新招聘2022_个人在线做网站免费_代理怎么引流推广

成立网站要营业执照吗_泰安招聘信息最新招聘2022_个人在线做网站免费_代理怎么引流推广

时间:2025/7/12 6:05:59来源:https://blog.csdn.net/Idealismi/article/details/144993625 浏览次数:0次
成立网站要营业执照吗_泰安招聘信息最新招聘2022_个人在线做网站免费_代理怎么引流推广

1、虚拟机部署和容器化部署的区别是什么?

1、技术基础:

      <1>.虚拟化技术在物理硬件上创建虚拟机,每台虚拟机运行自己完整的操作系统、从而实现资源隔离。

      <2>.容器化技术:将应用程序打包在容器内,在进程空间上实现隔离。

2、资源效率和开销:

      <1>.虚拟机比较占资源、导致资源使用率高。

      <2>.容器共享宿主机操作内核、仅隔离程序进程。

3、隔离和安全性:

      <1>.虚拟化:提供强大隔离性、提供高安全性,但资源占用率大。

      <2>.容器化:虽然实现了隔离,但共享宿主内核,但是隔离性稍差。

2、什么是docker?什么是镜像、容器、仓库?

docker是一种开源平台,允许开发者将程序部署在容器中。可以部署在任何环境中,确保一致性和可移植性。

镜像是容器的模板,用来创建容器的。一个镜像可以创建出多个容器。

容器是用来运行各种应用程序、服务的。

仓库是用来存储镜像文件的地方。仓库分为公有仓库和私有仓库,存放了大量的镜像供用户下载

3、什么是docker容器?

docker容器是运行中的实例。

4、如何从dockerfile构建镜像?

使用docker build命令进行构建镜像。

docker build -t myimage:latest   // -t用于指定镜像标签

5、如何运行一个docker?

 使用docker run命令运行docker

docker run  -d  --name  mycontainer myimage:latest 
//  运行一个基于myimage:latest镜像的容器

6、如何查看正在运行的docker容器?

可以使用docker ps 命令进行查看。

如果要查看所有的容器,包括已经停止的docker ,可以使用

docker  ps  -a // 查看所有容器(包括已经停止的docker容器)

7、如何停止和删除一个容器?

使用docker stop 和 docker rm命令进行查看。

例如停止并删除mycontainer容器。

docker  stop   mycontainer  //  停止使用mycontainer容器
docker  rm     mycontainer  //  删除mycontainer容器。

8、Docker安装失败了如何进行排查?

1、检查系统是否满足Docker的安装要求。

2、在/var/log目录下进行查看日志

3、检查防火墙或云服务的安全组设置,确保Docker需要的端口没有被阻塞。

4、确保操作系统和所有软件包都是最新的,有时旧的软件包可能会导致安装问题。

5、尝试清理环境后重新安装

9、镜像管理

在dockers中镜像是容器的模板,当用户需要从Docker镜像中查找所需要的镜像。  

1、查找镜像

docker search keyword(keyword表示要查找镜像所包含的关键词)
eg:要查找出包含mysql的关键词 // docker search mysql

 2、下载镜像

查找到合适的镜像后,可以将其下载到本地计算机中,以便创建容器。

docker pull name:tag  // name为镜像名称、tag参数指定镜像标签
eg:docker pull mysql // 将mysql镜像下载到本地计算机中

3、列出本地镜像 

docker image ls  // 列出本地镜像
docker images 

4、删除镜像 

对于当前系统中已经不需要的镜像,为了节省存储空间 。可以将其删除。

可以同时删除多个镜像,多个镜像名称使用空格进行隔开即可。

docker rmi image //image为镜像名称
docker rmi -f mysql //强行删除mysql镜像

5、查看镜像

对于下载到本地的镜像文件,可以使用docker inspect进行查看详细信息。

 root@ubuntu-virtual-machine:/home/ubuntu# docker inspect mysql

 6、构建镜像

构建docker镜像有两种方法:

1、docker commit命令进行构建

2、docker build 命令和Dockerfile文件进行构建,但是过程十分繁琐。因此一般我们使用docker commit进行构镜像。

3、使用docker commit进行构建镜像。

eg:在docker中进行创建数据库mysql并进行映射到主机的3306端口

1、在docker中创建数据库

docker  run  --name  mysqltest  -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d  mysql 

//  --name 进行对容器进行命名

//  -e 对创建的MySQL进行密码设置为123456 、账号为root

//  -p 对docker创建的MySQL进行端口映射

//  -d 后台运行容器

2、进入创建好的容器mysqltest中

docker  exec  -it   mysqltest   /bin/bash 

//  -i表示交互式,-t 表示分配一个虚拟终端。/bin/bash为要执行的命令。

3、进入交互式页面

mysql  -uroot  -p 

password:123456 // 进入数据库

7、镜像标签管理

镜像标签可以区分不同的版本,镜像和标签之间可以使用冒号进行隔开。

docker提供了docker tag命令来设置镜像的标签。

docker tag httpd local/httpd // 将名称为httpd的镜像标识为local仓库的httpd

10、容器管理 

容器是docker提供网络服务的主体,为了提供mysql,apache,nginx等网络服务,用户必须创建对应的容器。

在docker中常使用docker create 创建容器,但是创建的新容器处于停止状态。

另一种是通过docker run 创建新容器,但是容器会启动。

1、创建容器
docker create [option] image
用户可通过option为容器指定相应的选项。用来设置新的容器。
--add-host=[] //指定主机到IP地址之间的关系,格式为host:ip
--dns=[] //为容器指定域名服务器
-h //为容器指定主机名
-i //打开容器的标准输入 
--name //指定容器名称
-u //创建用户

eg1:创建一个名为yunwei的容器
docker create yunwei
eg:创建一个名为yunwei的容器,创建之后立即启动该容器,并进入交互模式
root@ubuntu-virtual-machine:/home/ubuntu# docker run -it --name yunwei ubuntu /bin/bash 
root@0dd80eac1c83:/# pwd
/
root@0dd80eac1c83:/# exit
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it ubuntu /bin/bash
// 创建一个后台型容器
ec313748b83eeda0f07681480a27003616260b2f74566541ca8c3079f513b608

2、查看容器

docker ps //查看当前正在运行的容器
docker ps -a //查看当前系统中所有的容器,包括运行中的个处于停止状态的容器
有些容器的状态为Exited 表示已经停止运行
有些容器的状态为up 表示处于运行状态
有些容器的状态为Created 表示处于创建过,但是没有启用 

查找某些特定的容器

docker ps -a -f name=crank  // -f指定筛选条件
root@ubuntu-virtual-machine:/etc/docker# docker ps -a -f name=mysql 
field=value //field表示name,image,以及status等字段

docker ps -a --before=ubuntu //ubuntu容器之前所建的所有容器
docker ps -a --since=ubuntu //Ubuntu容器之后所建的所有容器

3、启动容器

通常使用docker start命令来进行启动容器。

使用docker restart命令来进行重启容器

使用docker stop 命令来进行停止容器

使用docker kill命令来强制终止容器

使用docker rm 命令来删除容器,加上-f参数就是强制删除容器。

11、网络管理

1、docker的网络原理

在docker安装完成后,宿主机中会创建一个虚拟网桥,通常情况下为docker 0。

网桥工作在OSI七层模型中的数据链路层,在docker中各个容器是通过一个名为docker 0的网桥进行转发流量实现互联的。

一般使用brctl show命令来查看虚拟网桥docker0的信息

root@ubuntu-virtual-machine:/home/ubuntu# brctl show 
bridge name     bridge id               STP enabled     interfaces
docker0         8000.024277a58ad4       no              vethdb861c4

 2、docker的网络模式

网络模式可以在创建容器时使用 --network选项来指定。

docker网络模式一共分为4种,分别是host,container,none,bridge。

host模式:容器不会获得一个独立的Network命名空间,而是和宿主机共用一个Network命名空间。容器将不会虚拟出 自己的网卡、配置自己的IP等,而是使用宿主机的IP和端口。

container模式(容器模式):新创建的容器和已经存在的容器共享一个Network命名空间,和指定容器共用一个IP地址,端口范围 等。

none模式(无模式):docker拥有自己的Network命名空间,但是不为docker配置任何网络,需要我们自己手动添加网络配置。

bridge模式(桥接模式):bridge模式是docker默认的网络模式,此模式会为每一个容器分配一个Network命名空间,并将主机上的 docker容器连接到一个虚拟网桥上。

docker容器的网络互联:

// 创建第一个容器
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it centos /bin/bash
394b4650ba5bfeacc9c86217f681b79ef79dcf663f65d3021b2312be1949b628
// 创建第二个容器
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it centos /bin/bash
720e4167f96280673f5193f025cb75eaf303b972d7dca4ecc552ef0d5b11abf2
// 查看容器运行状态
root@ubuntu-virtual-machine:/home/ubuntu# docker ps 
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
c521fb7136cc   centos    "/bin/bash"   6 seconds ago    Up 5 seconds              blissful_leakey
720e4167f962   centos    "/bin/bash"   16 seconds ago   Up 15 seconds             youthful_diffie

// 获取容器的IP地址
root@ubuntu-virtual-machine:/home/ubuntu# docker exec c521fb7136cc ip a show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
       
root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ip a show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
      
// ip地址分别为:172.17.0.4/16;172.17.0.3/16

// 使用icmp协议ping命令查看是否可以通信
root@ubuntu-virtual-machine:/home/ubuntu# docker exec c521fb7136cc ping 172.17.0.4
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from 172.17.0.4: icmp_seq=2 ttl=64 time=0.021 ms
64 bytes from 172.17.0.4: icmp_seq=3 ttl=64 time=0.022 ms

root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ping 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 172.17.0.3: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 172.17.0.3: icmp_seq=3 ttl=64 time=0.021 ms

// 由此可见两容器之间都可以进行通信

// 容器与外部网络的互联通信
root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ping www.baidu.com 
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=127 time=36.2 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=127 time=35.8 ms

12、Docker仓库

1、什么是Docker  Hub?

Docker Hub是Docker提供的一项服务,帮助用户查找和共享容器镜像  

2、Docker Hub的特点?

1、使用pull和push进行上传和拉取镜像。

docker  pull从Docker  Hub中进行拉取镜像到本地机器、创建容器进行使用。

docker push是将本地镜像上传到docker hub仓库,当对本地镜像进行修改之后想要分享给他人使用,可以使用

2、Docker官方镜像:提取并使用Docker提供的高质量容器镜像。  

3、使用Docker Hub

答:1、使用Docker Hub和Docker Desktop进行镜像管理

       2、使用docker login命令进行管理

13、Docker的数据管理

1、什么是数据卷?

数据卷是为一个或多个容器专门指定的目录。

特点:
    1、可以在容器间共享和重用。
    2、数据卷的数据改变可以直接修改
    3、数据的改变不会包括在容器中
    4、数据卷是持续的,直到没有容器使用。

2、如何创建数据卷?

docker提供volume进行管理数据卷

使用docker进行创建数据卷

docker  volume  create -d  local  volume_demo

//  创建一个volume_demo的数据卷

//  存在目录位于/var/lib/docker/volume路径下

使用docker inspect 命令可进行查看详细信息

3、数据卷的分类

在运行容器时可以通过指定-v 或 --mount参数来使用该Volume,并且可以依据数据卷类型不同挂在不同类型的数据卷。

在docker中数据卷分为三类:

volume普通数据卷,Bind绑定数据卷,tmpfs临时数据卷
volume普通数据卷:映射到特定位置:/var/lib/docker/volumes
Bind绑定数据卷:映射到主机的任意位置
tmpfs临时数据卷:只存在于内存中

查看运行的容器和数据卷信息

root@ubuntu-virtual-machine:/home/ubuntu# docker container ls 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
ef9d2eed6a28   mysql     "docker-entrypoint.s…"   36 minutes ago   Up 36 minutes   3306/tcp, 33060/tcp                 mysqltest
1d65b1b42524   httpd     "httpd-foreground"       3 hours ago      Up 3 hours      0.0.0.0:80->80/tcp, :::80->80/tcp   reverent_fermat

root@ubuntu-virtual-machine:/home/ubuntu# ls -al /var/lib/docker/volumes/

数据迁移

数据卷可以有效的进行数据备份,恢复,和迁移。

14、Docker日志

1、docker  logs

作用:docker  logs主要是用来进行查看日志

docker logs  [options]  container

// 可以通过子命令来查看具体某个容器的日志

docker logs  container  (此时看到的容器日志是静态的)

// 如果想要看到动态的容器日志,加上-f参数即可

docker logs -f container 

docker  logs命令选项

Options:
      --details        显示提供给日志的其他详细信息
  -f, --follow         跟踪日志输出
      --since string   显示给定的时间戳 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    从日志末尾显示n行的日志
  -t, --timestamps     显示时间戳
      --until string   显示给定的时间戳 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)

2、logging   driver

docker允许我们从运行的容器中提取日志、这个机制就被称为logging  driver

docker默认的logging  driver文件格式为json-file

快速查看nginx的日志文件路径:

root@node:/home/ubuntu# docker inspect nginx_server | grep -i logpath
        "LogPath": "/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log"

root@node:/home/ubuntu# cd /var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008/
root@node:/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008# ls 
1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log  checkpoints  config.v2.json  hostconfig.json  hostname  hosts  mounts  resolv.conf  resolv.conf.hash
root@node:/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008# cat 1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log 

3、安装ELK日志监控系统

ELK是可以进行搜集、过滤、传输、存储以及实现多系统的组件日志进行集中管理,并且可以帮助运维人员进行线上业务的实时监控,以及业务异常的标准定位。

ELK优点:1、安全性、密钥库和访问控制。

                  2、可以进行管理日志和指标等

                  3、仪表盘和可视化界面

                  4、可以确定在哪里找到其他资源

1、采用docker方式进行部署
docker pull sebp/elk:640     // 下拉sebp/elk、640版本的镜像

2、启动ELK服务
docker run -it --name=elk  -p   5601:5601 -p 9200:9200 -p 5044:5044 -d sebp/elk:640

3、浏览器访问ELK页面
http://192.168.159.131:5601

4、浏览器访问
http://192.168.159.131:9200  (查看API接口是否可用)

关键字:成立网站要营业执照吗_泰安招聘信息最新招聘2022_个人在线做网站免费_代理怎么引流推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: