新闻动态

为您提供行业资讯、活动公告、产品发布,汇聚最前沿流行的云计算技术

新闻公告


扫一扫添加企业微信客服

扫一扫添加企业微信客服


扫一扫添加微信客服

扫一扫添加微信客服

< 返回新闻公共列表

Docker 是一个开源的应用容器引擎

发布时间:2022-03-22 23:01:19 文章来源:互联网

如需了解“Docker 是一个开源的应用容器引擎”等有关服务器、云主机租用、虚拟主机、配置、价格问题、请咨询专属客服或者微信:zhstwkj 获取更多帮助和新优惠!


Docker 是一个开源的应用容器引擎,让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

image.png

传统虚拟机(virtual machine)

虚拟机,就是在操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。“子电脑”和“子电脑”之间,是相互隔离的,互不影响。但占用空间更大,启动更慢。

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。

Linux 容器(Linux Containers,缩写为 LXC)

image.png

而容器不是模拟一个完整的操作系统,容器只需要软件工作所需的库资源和设置。容器内的应用进程直接运行于宿主机的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

1、Docker 镜像(Image)就是一个只读的模板,可以看作是创建docker容器的模板。

镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2、Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。

容器可以被创建、启动、停止、删除、暂停等。每个容器都是相互隔离的,保证安全的平台。

3、仓库(Repository)是集中存放镜像文件的场所。

一个仓库注册服务器(Registry)放着多个仓库(Repository)。每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。我 们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了。

镜像:CentOS-7-x86_64-DVD-1810.iso

# 1、配置网络:(NAT模式)

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.100.100

NETMASK=255.255.255.0

GATEWAY=192.168.100.2

DNS1=8.8.8.8

# 2、修改DNS:

vi /etc/resolv.conf

nameserver 8.8.8.8

# 3、重启网络: 

systemctl restart network

# 4、测试网络:(确保可以上外网)

ping www.baidu.com

# 5、关闭防火墙和selinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

vi /etc/selinux/config 

SELINUX=disabled

# 6、设置主机名

hostnamectl set-hostname wzg

bash

# 7、更新yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

# 8、安装需要的工具包

yum install -y yum-utils device-mapper-persistent-data lvm2

# 9、设置阿里源为镜像仓库地址

yum-config-manager --add-repo \

  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 1、删除旧版本

yum remove docker docker-client docker-client-latest docker-common \

   docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 2、安装docker

yum install docker-ce docker-ce-cli containerd.io

# 3、查看当前版本

[root@wzg ~]# docker --version

Docker version 20.10.13, build a224086

# 4、卸载docker-ce及其依赖包

yum remove docker-ce

yum remove docker-ce-cli

yum remove docker-selinux

yum remove docker-engine-selinux

# 5、检查版本

[root@wzg ~]# docker --version

-bash: /usr/bin/docker: No such file or directory

# 6、安装指定版本的docker-ce

yum install -y docker-ce-19.03.2-3.el7 docker-ce-cli-19.03.2-3.el7 containerd.io

# 7、验证是否安装成功

[root@wzg ~]# docker --version

Docker version 19.03.2, build 6a30dfc

# 8、启动docker

systemctl start docker

# 9、查看docker服务状态

systemctl status docker

# 10、测试docker(运行hello-world镜像)

[root@wzg ~]# docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

2db29710123e: Pull complete 

Digest: sha256:6d60b42fdd5a0aa8a718b5f2eab139868bb4fa9a03c9fe1a59ed4946317c4318

Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

……

#出现上面,说明docker安装成功

# 1、执行卸载命令

yum remove docker-ce docker-ce-cli containerd.io

# 2、卸载后,主机上的镜像、容器等不会被删除,删除命令如下:

rm -rf /var/lib/docker

# 管理员必须手动删除任何已编辑的配置文件

# 1、设置Docker开机自启

systemctl enable docker

# 2、以普通用户管理docker

sudo groupadd docker

useradd wzg

sudo usermod -aG docker wzg

# 3、编辑docker.service单元配置文件

systemctl edit docker.service

# 输入以下信息:

[Service]

ExecStart=

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

# 4、重新加载systemctl配置

systemctl daemon-reload

# 5、重启docker

systemctl restart docker

# 6、安装网络监测工具

yum install -y net-tools

# 7、检查Docker守护进程是否在所配置的端口上侦听

[root@wzg ~]# netstat -lntp | grep dockerd

tcp6       0      0 :::2375           :::*           LISTEN      16678/dockerd

# 8、在Docker客户端命令中通过-H选项指定要连接的远程主机

[root@wzg ~]# docker -H tcp://192.168.100.100:2375 info      

Client:

 Debug Mode: false

Server:

 Containers: 1

  Running: 0

  ……

本文作者:Zhigang Wang

本文链接:https://www.cnblogs.com/wzgwzg/p/16035610.html



【文章声明】

本站发布的Docker 是一个开源的应用容器引擎内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场

如果涉及侵权请联QQ:712375056进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

/template/Home/twy/PC/Static