Linux环境下的Docker的三种常用方式安装(强烈推荐第二种安装方式)推荐Portainer GUI管理工具

本文主要是介绍Linux环境下的Docker的三种常用方式安装(强烈推荐第二种安装方式)推荐Portainer GUI管理工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
在这里插入图片描述
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景:
Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker 的优点1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,
便可以实现虚拟化。
Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。
方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的	
任务,在Docker容器的处理下,只需要数秒就能完成。2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。Docker 帮你	打包你的纠结!比如 Docker 镜像;
Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。
比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,
Docker 改变了高性能必然高价格的思维定势。
Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

第一种方法

1)CentOS 仅发行版本

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

[root@devops ~]# uname -r
3.10.0-327.el7.x86_64
[root@devops ~]# 
  1. docker安装与启动
[root@devops ~]# yum install -y epel-release
[root@devops ~]# yum install docker-io # 安装docker
# 配置文件 /etc/sysconfig/docker[root@devops ~]# chkconfig docker on  # 加入开机启动
[root@devops ~]# service docker start # 启动docker服务# 基本信息查看
[root@devops ~]# docker version # 查看docker的版本号,包括客户端、服务端、依赖的Go等
[root@devops ~]# docker info # 查看系统(docker)层面信息,包括管理的images, containers数等
[root@devops ~]# docker pull centos 下载
[root@devops ~]# docker images [ centos ] 查看
[root@devops ~]# docker run -i -t centos /bin/bash第一种方法结束

下面方法要使用的加速器地址寻找方式https://cr.console.aliyun.com/

在这里插入图片描述

第二种方法

Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。本文介绍 Docker CE 的安装使用。移除旧的版本:$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine安装一些必要的系统工具:[root@devops ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息:
使用阿里云的镜像源 这个我最近刚测试了 一切正常
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新 yum 缓存:[root@devops ~]# sudo yum makecache fast安装 Docker-ce:[root@devops ~]# sudo yum -y install docker-ce启动 Docker 后台服务[root@devops ~]# sudo systemctl start docker这里可以使用加速器:
这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 Docker Hub 镜像站点 可以找到专属加速器地址,复制下来。然后执行以下命令:[root@devops ~]# mkdir -p /etc/docker
[root@devops ~]# tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["你的加速器地址"]
}
EOF
[root@devops ~]#systemctl daemon-reload
[root@devops ~]# systemctl restart docker
之后重新加载配置,并且重启 Docker 服务
[root@devops ~]#systemctl daemon-reload
[root@devops ~]#systemctl restart docker这里推荐使用 Portainer 作为容器的 GUI 管理方案。官方地址:https://portainer.io/install.html安装命令:
[root@devops ~]# docker volume create portainer_data
[root@devops ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer如果没有镜像 则先拉取:
[root@devops ~]# docker pull portainer/portainer:latest
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete 
fac26901c311: Pull complete 
Digest: sha256:cc226d8a06b6d5e24b44a4f10d0d1fd701741e84a852adc6d40bef9424a000ec
Status: Downloaded newer image for portainer/portainer:latest
[root@devops ~]# 
访问你的 IP:9000 即可进入容器管理页面。
图片示例将在下图演示:下面是操作示范:[root@devops ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
Loaded plugins: fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@devops ~]# yum install docker-ce
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: centos.ustc.edu.cn* epel: mirror01.idc.hinet.net* extras: ap.stykers.moe* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 3:18.09.6-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.6-3.el7.x86_64
--> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-18.09.6-3.el7.x86_64
--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-18.09.6-3.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.99-1.el7_6 will be installed
---> Package containerd.io.x86_64 0:1.2.5-3.1.el7 will be installed
---> Package docker-ce-cli.x86_64 1:18.09.6-3.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved=======================================================================================================================================Package                            Arch                    Version                            Repository                         Size
=======================================================================================================================================
Installing:docker-ce                          x86_64                  3:18.09.6-3.el7                    docker-ce-stable                   19 M
Installing for dependencies:container-selinux                  noarch                  2:2.99-1.el7_6                     extras                             39 kcontainerd.io                      x86_64                  1.2.5-3.1.el7                      docker-ce-stable                   22 Mdocker-ce-cli                      x86_64                  1:18.09.6-3.el7                    docker-ce-stable                   14 MTransaction Summary
=======================================================================================================================================
Install  1 Package (+3 Dependent packages)Total download size: 55 M
Installed size: 236 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): container-selinux-2.99-1.el7_6.noarch.rpm                                                                |  39 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/containerd.io-1.2.5-3.1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for containerd.io-1.2.5-3.1.el7.x86_64.rpm is not installed
(2/4): containerd.io-1.2.5-3.1.el7.x86_64.rpm                                                                   |  22 MB  00:00:17     
(3/4): docker-ce-18.09.6-3.el7.x86_64.rpm                                                                       |  19 MB  00:00:20     
(4/4): docker-ce-cli-18.09.6-3.el7.x86_64.rpm                                                                   |  14 MB  00:00:07     
---------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                  2.2 MB/s |  55 MB  00:00:25     
Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Importing GPG key 0x621E9F35:Userid     : "Docker Release (CE rpm) <docker@docker.com>"Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35From       : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 2:container-selinux-2.99-1.el7_6.noarch                                                                             1/4 Installing : 1:docker-ce-cli-18.09.6-3.el7.x86_64                                                                                2/4 Installing : containerd.io-1.2.5-3.1.el7.x86_64                                                                                  3/4 Installing : 3:docker-ce-18.09.6-3.el7.x86_64                                                                                    4/4 Verifying  : containerd.io-1.2.5-3.1.el7.x86_64                                                                                  1/4 Verifying  : 3:docker-ce-18.09.6-3.el7.x86_64                                                                                    2/4 Verifying  : 1:docker-ce-cli-18.09.6-3.el7.x86_64                                                                                3/4 Verifying  : 2:container-selinux-2.99-1.el7_6.noarch                                                                             4/4 Installed:docker-ce.x86_64 3:18.09.6-3.el7                                                                                                     Dependency Installed:container-selinux.noarch 2:2.99-1.el7_6       containerd.io.x86_64 0:1.2.5-3.1.el7       docker-ce-cli.x86_64 1:18.09.6-3.el7      Complete!
[root@devops ~]# 

这里推荐使用 Portainer 作为容器的 GUI 管理方案。演示:

先创建一个该容器
[root@devops ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
c6b8550f42ad4ddfb6a573fa422b612797524a470ae7b5a04c2bbee46f6c63a9
[root@devops ~]# 然后可以看到初始化页面:(IP地址:9000访问)

在这里插入图片描述

由于是实验环境 那么我们就选择本地模式local就好啦
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
第三种方法:使用脚本安装 Docker

1、使用 sudo 或 root 权限登录 Centos。2、确保 yum 包更新到最新。
$ sudo yum update3、执行 Docker 安装脚本。$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
执行这个脚本会添加 docker.repo 源并安装 Docker。4、启动 Docker 进程。[root@devops ~]# sudo systemctl start docker镜像加速鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。请在该配置文件中加入(没有该文件的话,请先建一个):
{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
  1. 镜像的获取与容器的使用
# 搜索镜像
[root@devops ~]# docker search <image> # 在docker index中搜索image
# 下载镜像
[root@devops ~]# docker pull <image>  # 从docker registry server 中下拉image
# 查看镜像 
[root@devops ~]#     docker images: # 列出images
[root@devops ~]#     docker images -a # 列出所有的images(包含历史)
[root@devops ~]#     docker rmi  <image ID>: # 删除一个或多个image
# 使用镜像创建容器
[root@devops ~]# docker run -i -t sauloal/ubuntu14.04
[root@devops ~]# docker run -i -t sauloal/ubuntu14.04 /bin/bash # 创建一个容器,让其中运行 bash 应用,退出后容器关闭
[root@devops ~]# docker run -itd --name centos_aways --restart=always centos #创建一个名称centos_aways的容器,自动重启
# --restart参数:always始终重启;on-failure退出状态非0时重启;默认为,no不重启# 查看容器
[root@devops ~]#     docker ps :列出当前所有正在运行的container
[root@devops ~]#     docker ps -l :列出最近一次启动的container
[root@devops ~]#     docker ps -a :列出所有的container(包含历史,即运行过的container)
[root@devops ~]#     docker ps -q :列出最近一次运行的container ID
# 再次启动容器
[root@devops ~]#     docker start/stop/restart <container> #:开启/停止/重启container
[root@devops ~]#     docker start [container_id] #:再次运行某个container (包括历史container)
#进入正在运行的docker容器
[root@devops ~]#     docker exec -it [container_id] /bin/bash
[root@devops ~]#     docker run -i -t -p <host_port:contain_port> #:映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。# 删除容器
[root@devops ~]#     docker rm <container...> #:删除一个或多个container
[root@devops ~]#     docker rm `docker ps -a -q` #:删除所有的container
[root@devops ~]#     docker ps -a -q | xargs docker rm #:同上, 删除所有的container

以上便是linux环境下安装docker的常用方法

一般情况下 推荐使用第二种安装方法

这篇关于Linux环境下的Docker的三种常用方式安装(强烈推荐第二种安装方式)推荐Portainer GUI管理工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/550034

相关文章

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决