十分钟快速了解docker

快速了解下docker。废话少说,开干!

一、相关概念

  什么是虚拟化技术?

维基百科中的解释是这样的:

虚拟化(技术)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。

对于一台计算机,我们可以简单的划分为三层:从下到上依次是物理硬件层,操作系统层、应用程序层

 

 

 

二、docker概念

  1. Docker是世界领先的软件容器平台。
  2. Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

   由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docker最初实现是基于LXC。

   docker的主要三个概念 

    镜像: 可以理解为模板; 虚拟机安装系统,镜像就是系统的安装文件模板 ghost/iso文件 ; docker的镜像就是用来生成容器的模板。

    仓库: 存储管理镜像的仓库; docker hub; 类似于maven仓库;我们可以把构建后的镜像上传到服务器,从而可以在任何地方使用到这个镜像。 

    容器:  通过镜像模板生成的一个具体实例, 可以对容器进行管理;删除/创建/启动/停止/重启/暂停/ ; 也可以将修改后的容器生成一个镜像.

   

三、环境搭建

3.1 离线搭建docker

1. 下载离线包
https://download.docker.com/linux/static/stable/x86_64/

2. 解压
tar -zxvf *.tar.gz 

3. 移动目录位置
cp docker/* /usr/bin/

4. 新建 docker.service 文件放在 /etc/systemd/system/目录下,文件内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target
5. 检查安装情况
docker -v
docker version

  

启动docker 
systemctl start docker
查看docker信息
docker info

   

   

四、快速部署一个nginx应用

4.1 搜索镜像列表

docker search nginx

4.2 拉取镜像列表到本地

docker pull nginx

4.3 查看本地镜像

docker images

4.4 通过镜像创建容器

 docker create --name=test_nginx -p 19398:80 nginx

4.5 查看状态

docker ps -a

4.6 启动容器

 docker start|stop|restart|pause|unpause {containerId}

 

 

 

4.7 修改容器内容

docker exec -ti containerId /bin/bash


4.8 保存修改后的容器内容

docker commit containerId imageName

  

五、命令总结

5.1 镜像命令

docker  rmi xx   删除镜像

5.2 容器命令

 

 

posted @ 2021-04-15 14:09  pengsn  阅读(258)  评论(0编辑  收藏  举报