docker安装、部署docker反向代理

本文详细介绍了Docker的基础知识,包括其与虚拟机的区别、镜像概念、容器读写层、安装过程、常用管理命令、Dockerfile的应用以及网络和反向代理配置。通过实例演示了如何创建和管理Docker容器,以及配置反向代理以实现服务发布。

1.1 docker介绍

https://www.cnblogs.com/xiaonq/p/10241045.html#i4

1. 什么是docker

  • Docker 是应用最广泛的开源容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中
  • docker实质就像虚拟机一样,就好像是一个具有独立操作系统的真实机器
    • 虚拟机是有真正的linux内核的,真实需要通过 .ios 文件安装操作系统
    • 而我们的docker共享linux宿主机内核,只有一个linux文件系统
  • 容器:
    • 容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样
    • 容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)

2. docker与虚拟机比较

在这里插入图片描述

1.2 docker镜像

1. 什么是docker镜像

  • docker镜像不包含Linux内核而又精简的Linux操作系统
    • 我们安装操作西宫iso文件就可以理解解为用C语言写的安装包(微信安装包)
    • 我们安装操作系统的过程就好像是我们微信(就好像我们安装微信一样)
    • docker镜像也像.iso安装包,但是因为操作系统已经安装linux内核,所以这个 安装包可以直接使用(这个安装包只有linux文件系统,而内核直接使用linux系统本身的就行)
  • docker 镜像是 docker 容器的静态视角,docker 容器是 docker 镜像的运行状态
    • 程序和进程的区别
    • docker镜像----》程序(存储在我们硬盘里的代码)
    • 进程-----》把我们硬盘里的代码加载到内存中运行
  • 容器只是对docker镜像的引用,如果docker镜像删除,此镜像创建的容器也都失效

2. 容器读写层

  • 容器其实是在镜像的最上面加了一层读写层,在运行容器里文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中(读写层)。

  • 如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。

  • 所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件

  • 若想持久化这些改动,可以通过docker commit 将容器保存成一个新镜像
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.3 docker安装

1、docker安装参考官方文档

  1. docker官方文档:https://docs.docker.com/

    centos安装docker:https://docs.docker.com/install/linux/docker-ce/centos/

    :docker CE只支持 centos7 不支持centos6

2、docker安装

# 1)安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 2)添加Docker软件包源(否则doker安装的不是新版本)
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 3)安装Docker CE
yum install -y docker-ce

# 4)启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker

# 5)测试docker是否安装成功(hello-world是官方提供的一个测试镜像)
docker run hello-world

# 6)查看docker基本信息
docker info
docker version

3、docker简单使用(创建一个ngixn容器)

 # 1、创建一个nginx容器
 docker run -it nginx
 
 # 2、查看docker运行的容器(可以获取到这个容器的id)
 docker ps
 
 # 3、访问这个容器
 # 进入这个nginx容器(进入的文件系统和宿主机是完全隔离的,有自己独立的文件系统)
 docker exec -it 73877e65c07d bash
 
 # 4、查看当前容器的 IP
 docker inspect 73877e65c07d   # 73877e65c07d是通过docekr ps查看到的容器ID
 curl 172.17.0.2               # 测试这个nginx容器是否可以访问

1.4 docker常用管命令

1.镜像常用管理命令

[root@linux-node1 /]# docker image --help     # 查docker使用方法
[root@linux-node1 /]# docker image ls         # 查看本地下载的所有镜像
[root@linux-node1 /]# docker image rm nginx   # 删除这个镜像
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值