- 容器简介
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。 容器和虚拟化区别:
虚拟化使得许多操作系统可同时在单个系统上运行。
容器则可共享同一个操作系统内核,将应用进程与系统其他部分隔离开。
这意味着什么?首先,让多个操作系统在单个虚拟机监控程序上运行以实现虚拟化,并不能达成和使用容器同等的轻量级效果。事实上,在仅拥有容量有限的有限资源时,您需要能够可以进行密集部署的轻量级应用。Linux 容器可从单个操作系统运行,在所有容器中共享该操作系统,因此应用和服务能够保持轻量级,并行快速运行。
- 什么是Docker?
IT 软件中所说的 “Docker” ,是指容器化技术,用于支持创建和使用 Linux 容器。
借助 Docker ,您可将容器当做重量轻、模块化的虚拟机使用。同时,您还将获得高度的灵活性,从而实现对容器的高效创建、部署及复制,并能将其从一个环境顺利迁移至另一个环境。
Docker工作原理
Docker 技术使用 Linux 内核和内核功能(例如 Cgroups 和 namespaces)来分隔进程,以便各进程相互独立运行。这种独立性正是采用容器的目的所在;它可以独立运行多种进程、多个应用程序,更加充分地发挥基础设施的作用,同时保持各个独立系统的安全性。
容器工具(包括 Docker)
可提供基于镜像的部署模式。这使得它能够轻松跨多种环境,与其依赖程序共享应用或服务组。Docker 还可在这一容器环境中自动部署应用程序(或者合并多种流程,以构建单个应用程序)。
由于这些工具基于 Linux 容器构建,使得 Docker 既易于使用,又别具一格 —— 它可为用户提供前所未有的高度应用程访问权限、快速部署以及版本控制和分发能力。
Docker的目标
docker的主要目标是"Build,Ship and Run any App,Angwhere",构建,运输,处处运行
构建:做一个docker镜像
运输:docker pull
运行:启动一个容器
每一个容器都有自己的文件系统rootfs
- 安装Docker
安装链接
基础命令操作:
# 查看版本 docker version
# 启动第一个容器 docker run -d -p 80:80 nginx
参数说明:run创建并运行一个容器;-d放入后台;-p端口映射;nginx镜像名称
Docker镜像生命周期 - Docker镜像相关操作
# 搜索官方仓库镜像
docker search centos
# 获取镜像
# 根据镜像名称拉取镜像
docker pull centos
# 查看当前主机镜像列表
docker image list
# 拉第三方镜像方法
docker pull index.tenxcloud.com/tenxcloud/httpd
导出镜像
docker image list
docker image save centos > docker-cenetos.tar.gz
删除镜像
docker image rm centos:latest
docker image list
导入镜像
docker image load -i docker-centos.tar.gz
查看镜像的详细信息
docker image inspect centos
- 容器的日常管理
容器的启/停
docker run nginx
创建容器,两步走(不常用)
docker create centos:latest /bin/bash
docker start stupefied_nobel
快速启动容器方法
docker run centos:latest /usr/bin/sleep 20;
容器内的第一个进程必须一直处于运行状态,否则这个容器,就会处于推出状态!
查看正在运行的容器
docker container ls
docker ps
查看容器的详细信息/ip
docker container inspect 容器名称/id
查看所有容器(包括未运行的)
docker ps -a
停止容器
docker stop 容器名称/id
or
docker container kill 容器名称/id
进入容器方法
启动时进去方法
docker run -it # -it 可交互终端
docker run -it nginx:latest /bin/bash
退出/离开容器
ctrl+p & ctrl + q
启动后进入容器的方法
docker run -it centos:latest
ps -ef
# 命令太多,可直接查看原文
- Docker为什么分层
镜像分层最大的一个好处就是共享资源。
比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。
如果多个容器共享一份基础镜像,当某个容器修改了基础镜像的内容,比如 /etc 下的文件,这时其他容器的 /etc 是不会被修改的,修改只会被限制在单个容器内。这就是容器 Copy-on-Write 特性。
- docker-compose编排工具
安装
# 下载pip软件
yum install -y python2-pip
# 下载docker-compose
pip install docker-compose
# 国内开启pip下载加速:http://mirrors.aliyun.com/help/pypimkdir ~/.pip/ cat > ~/.pip/pip.conf <<'EOF' [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com EOF
编排启动镜像
# 创建文件目录
mkdir /opt/my_wordpress/
cd /opt/my_wordpress/
# 编写编排文件
vim docker-compose.yml
# 启动
docker-compose up
# 在浏览器访问http://10.0.0.100:8000
进行wordpress的安装即可
-
参考资料:
Docker学习
最新推荐文章于 2024-01-20 22:39:56 发布