docker安装

x33g5p2x  于2022-03-21 转载在 Docker  
字(3.4k)|赞(0)|评价(0)|浏览(390)

Docker概述

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

Docker与传统虚拟机区别

传统虚拟机(virtual machine)

  • 虚拟机,就是在操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。“子电脑”和“子电脑”之间,是相互隔离的,互不影响。但占用空间更大,启动更慢。
  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。

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

  • 而容器不是模拟一个完整的操作系统,容器只需要软件工作所需的库资源和设置。容器内的应用进程直接运行于宿主机的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
  • 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

docker架构

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

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

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

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

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

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

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

docker安装

镜像: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

二、安装docker

# 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安装成功

如何卸载docker

# 1、执行卸载命令
yum remove docker-ce docker-ce-cli containerd.io

# 2、卸载后,主机上的镜像、容器等不会被删除,删除命令如下:
rm -rf /var/lib/docker

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

三、开启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
  ……

相关文章