docker安装

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

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. # 1、配置网络:(NAT模式)
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. BOOTPROTO=static
  4. ONBOOT=yes
  5. IPADDR=192.168.100.100
  6. NETMASK=255.255.255.0
  7. GATEWAY=192.168.100.2
  8. DNS1=8.8.8.8
  9. # 2、修改DNS:
  10. vi /etc/resolv.conf
  11. nameserver 8.8.8.8
  12. # 3、重启网络:
  13. systemctl restart network
  14. # 4、测试网络:(确保可以上外网)
  15. ping www.baidu.com
  16. # 5、关闭防火墙和selinux
  17. systemctl stop firewalld
  18. systemctl disable firewalld
  19. setenforce 0
  20. vi /etc/selinux/config
  21. SELINUX=disabled
  22. # 6、设置主机名
  23. hostnamectl set-hostname wzg
  24. bash
  25. # 7、更新yum源
  26. curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  27. yum clean all
  28. yum makecache
  29. # 8、安装需要的工具包
  30. yum install -y yum-utils device-mapper-persistent-data lvm2
  31. # 9、设置阿里源为镜像仓库地址
  32. yum-config-manager --add-repo \
  33. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

二、安装docker

  1. # 1、删除旧版本
  2. yum remove docker docker-client docker-client-latest docker-common \
  3. docker-latest docker-latest-logrotate docker-logrotate docker-engine
  4. # 2、安装docker
  5. yum install docker-ce docker-ce-cli containerd.io
  6. # 3、查看当前版本
  7. [root@wzg ~]# docker --version
  8. Docker version 20.10.13, build a224086
  9. # 4、卸载docker-ce及其依赖包
  10. yum remove docker-ce
  11. yum remove docker-ce-cli
  12. yum remove docker-selinux
  13. yum remove docker-engine-selinux
  14. # 5、检查版本
  15. [root@wzg ~]# docker --version
  16. -bash: /usr/bin/docker: No such file or directory
  17. # 6、安装指定版本的docker-ce
  18. yum install -y docker-ce-19.03.2-3.el7 docker-ce-cli-19.03.2-3.el7 containerd.io
  19. # 7、验证是否安装成功
  20. [root@wzg ~]# docker --version
  21. Docker version 19.03.2, build 6a30dfc
  22. # 8、启动docker
  23. systemctl start docker
  24. # 9、查看docker服务状态
  25. systemctl status docker
  26. # 10、测试docker(运行hello-world镜像)
  27. [root@wzg ~]# docker run hello-world
  28. Unable to find image 'hello-world:latest' locally
  29. latest: Pulling from library/hello-world
  30. 2db29710123e: Pull complete
  31. Digest: sha256:6d60b42fdd5a0aa8a718b5f2eab139868bb4fa9a03c9fe1a59ed4946317c4318
  32. Status: Downloaded newer image for hello-world:latest
  33. Hello from Docker!
  34. This message shows that your installation appears to be working correctly.
  35. ……
  36. #出现上面,说明docker安装成功

如何卸载docker

  1. # 1、执行卸载命令
  2. yum remove docker-ce docker-ce-cli containerd.io
  3. # 2、卸载后,主机上的镜像、容器等不会被删除,删除命令如下:
  4. rm -rf /var/lib/docker
  5. # 管理员必须手动删除任何已编辑的配置文件

三、开启Docker远程访问

  1. # 1、设置Docker开机自启
  2. systemctl enable docker
  3. # 2、以普通用户管理docker
  4. sudo groupadd docker
  5. useradd wzg
  6. sudo usermod -aG docker wzg
  7. # 3、编辑docker.service单元配置文件
  8. systemctl edit docker.service
  9. # 输入以下信息:
  10. [Service]
  11. ExecStart=
  12. ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
  13. # 4、重新加载systemctl配置
  14. systemctl daemon-reload
  15. # 5、重启docker
  16. systemctl restart docker
  17. # 6、安装网络监测工具
  18. yum install -y net-tools
  19. # 7、检查Docker守护进程是否在所配置的端口上侦听
  20. [root@wzg ~]# netstat -lntp | grep dockerd
  21. tcp6 0 0 :::2375 :::* LISTEN 16678/dockerd
  22. # 8、在Docker客户端命令中通过-H选项指定要连接的远程主机
  23. [root@wzg ~]# docker -H tcp://192.168.100.100:2375 info
  24. Client:
  25. Debug Mode: false
  26. Server:
  27. Containers: 1
  28. Running: 0
  29. ……

相关文章

最新文章

更多