1 基础知识

1.1 系统的简介

CentOS Linux是社区支持的发行版

CentOS Linux源于Red Hat免费提供给公众使用的Red Hat Enterprise Linux(RHEL)

CentOS Linux旨在与RHEL在功能上兼容

CentOS Linux主要更改软件包以删除上游供应商的品牌和插图

CentOS Linux是免费的,可以免费重新分发

CentOS Linux每个版本最多可维护10年(随Red Hat发布源的安全更新支持间隔时间不同而不同)

CentOS Linux大约每2年发布一次新的版本

CentOS Linux每个版本都会定期更新(大约每6个月更新一次)以支持更新的硬件

CentOS Linux由此可知是一个安全、低维护、可靠、可预测和可复制的Linux环境

1.2 Docker容器与服务的关系

Docker容器的设计里面是容器内部不运行后台服务

Docker容器本身就是宿主机上独立运行的主进程

Docker容器可以理解为运行服务的应用进程

Docker容器生命周期是围绕容器的主进程存在

Dcoker容器正确使用方法是将服务运行于容器环境的前台

1.3 Systemd的介绍

Systemd当前成为管理主流Linux服务的管理器

Systemd管理系统服务器程序时需要特权去访问Linux内核

1.4 特权模式的介绍

容器并非一个完整的操作系统

容器的本质是一个文件系统

容器默认启动的程序只以普通用户的身份和权限访问Linux内核(没有任何特权)

基于以上,容器环境使用Systemd就需要使用“privileged”参数使赋以容器特权的权限方可使用

2 最佳实践

2.1 部署Docker集群

如果你尚未部署Docker集群环境,请参阅如下章节部署,

2.2 部署前的准备

In docker01

cd /data/docker/images/

docker load -i centos_centos7.3.1611.tar

docker tag centos:centos7.3.1611 docker01.cmdschool.org:5000/centos:centos7.3.1611

docker push docker01.cmdschool.org:5000/centos:centos7.3.1611

docker image rm centos:centos7.3.1611

另外,安装包的离线下载请在能上网的docker环境的机器上使用如下命令,

docker pull centos:centos7.3.1611

docker save centos:centos7.3.1611 -o centos_centos7.3.1611.tar

2.3 运行centos

2.3.1 尝试特权模式运行容器

docker run -d --name centos73 --privileged=true docker01.cmdschool.org:5000/centos:centos7.3.1611 /usr/sbin/init

以上使用特权(privileged)模式运行容器,赋予系统启动服务的能力,避免启动服务时出现如下错误提示,

Failed to get D-Bus connection: Operation not permitted

2.3.2 登录容器

docker exec -it centos73 /bin/bash

注:以上使用命令登录容器后

2.3.3 安装常见的软件包

yum install -y net-tools iproute

2.3.4 配置SSHD服务

yum install -y openssh-server

软件包安装好,可使用如下命令启动服务并设置默认启动,

systemctl start sshd.service

systemctl enable sshd.service

启动服务后,建议使用如下命令确认服务的端口已经起来,

netstat -antp

可见如下显示,

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 183/sshd

tcp 0 0 172.17.0.2:22 172.17.0.1:54258 ESTABLISHED 362/sshd: root@pts/

tcp6 0 0 :::22 :::* LISTEN 183/sshd

另外,SSH服务需要修改root密码才允许该用户登录,

passwd

2.3.5 查看当前容器的IP

ip a

可见如下显示,

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

500: eth0@if501: mtu 1500 qdisc noqueue state UP group default

link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0

inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0

valid_lft forever preferred_lft forever

2.3.6 退出容器并测试登录

exit

ssh 172.17.0.2

2.4 保存容器的更改

2.4.1 查询容器的containerID

docker container ls | grep centos7.3 | cut -d" " -f1

可见如下显示,

d23cc7a96035

2.4.2 保存当前容器的状态

docker commit d23cc7a96035 docker01.cmdschool.org:5000/sshd:centos7.3.1611

然后,使用如下命令查询新的镜像,

docker images

可见如下显示,

REPOSITORY TAG IMAGE ID CREATED SIZE

docker01.cmdschool.org:5000/sshd centos7.3.1611 9c6accff4795 7 minutes ago 289MB

docker01.cmdschool.org:5000/portainer/agent linux-amd64-1.6.0-alpine 82e35dbc0c04 6 weeks ago 75.3MB

docker01.cmdschool.org:5000/portainer/portainer alpine 3b8c73d25ad3 6 weeks ago 84.4MB

registry 2.7.1 2d4f4b5309b1 2 months ago 26.2MB

docker01.cmdschool.org:5000/centos centos7.3.1611 c5d48e81b986 18 months ago 192MB

参阅文档

=====================

linux 如何进入特权模式,如何以特权模式运行Docker CentOS?相关推荐

  1. X86汇编语言从实模式到保护模式16:特权级和特权级保护

    目录 1. 特权级保护机制 1.1 基础段保护机制的不足 1.2 特权级划分 1.3 特权级的表示 1.3.1 当前特权级CPL 1.3.2 描述符特权级DPL 1.3.3 请求特权级RPL 1.4 ...

  2. ASM:《X86汇编语言-从实模式到保护模式》第14章:保护模式下的特权保护和任务概述...

    ★PART1:32位保护模式下任务的隔离和特权级保护  这一章是全书的重点之一,这一张必须要理解特权级(包括CPL,RPL和DPL的含义)是什么,调用门的使用,还有LDT和TSS的工作原理(15章着重 ...

  3. linux系统密码自动丢失,通过单用户模式找回linux系统丢失的密码

    通过单用户模式找回linux系统丢失的密码 发布时间:2006-09-12 11:30:31来源:红联作者:benny_feng 一.单用户模式: 单用户模式要求我们输入root用户的密码,否则您无法 ...

  4. linux 在文本模式下(命令模式)下,中文是乱码,如何解决?

    linux 在文本模式下(命令模式)下,中文是乱码,如何解决? 转载于:https://blog.51cto.com/renxi/449690

  5. Linux网络编程 | 并发模式:半同步/半异步模式、领导者/追随者模式

    文章目录 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:更高效的半同步/半异步模式 领导者/追随者模式 组件 :句柄集.线程集.事件处理器 并发模式是指I/O处理单元和多个逻辑单元 ...

  6. linux 开发组织模式,Linux内核发布模式与开发组织模式(1)

    Linux内核社区经历20多年的发展,逐渐形成了一套完善的开发模式.作为想要加入社区进行开发的人来说,当然必须熟悉下这套模式啦,其中最重要的两点是: 内核发布模式 内核开发组织模式 本文将对第一点进行 ...

  7. Linux加密框架中的算法和算法模式

    参考链接 Linux加密框架中的算法和算法模式(三)_家有一希的博客-CSDN博客 对称算法  14 如上所示,在arc4.c中定义了两个与RC4算法相关的算法实现,分别为arc4和ecb(arc4) ...

  8. centos linux引导修复_【Linux 运维】 Centos7.x 系统修复模式

    一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...

  9. 创建三个并发进程linux,Linux下几种并发服务器的实现模式(详解)

    1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循 ...

最新文章

  1. 使用python调用zabbix接口截取监控图并生成Word文档
  2. HDU 2444 The Accomodation of Students
  3. 数学仍然是人类的“火炬”
  4. 任正非:感谢美国,帮我把华为给全世界都宣传了
  5. 第六届省赛(软件类)真题----Java大学A组答案及解析
  6. Python_argparse
  7. CUDA学习(六十五)
  8. 中小型公司***的配置及NAT应用案例
  9. 三个数互质 java_LeetCode 5198. 丑数 III(Java)容斥原理和二分查找
  10. 用相同jsp,js文件,同样的接口实现多页面构建
  11. 计算机图形学完整笔记(二):光栅图形学算法
  12. Python 调用JSON接口实例
  13. 六.爬虫--京东登录破解(二)
  14. feather初体验
  15. 如何系统地学习linux?
  16. 香港电动方程式大赛3月开跑 体验区可模拟中环驾车
  17. 手机python3.0编程软件-怎么用手机编写Python程序?
  18. 找不到www.jetbrains.com的服务器IP地址
  19. 乘着爱的翅膀—《爱的教育》读后感—吕中琪
  20. ubuntu cannot start pycharm, Required tools are missing: realpath***

热门文章

  1. C/C++程序的打包教程(2022版)
  2. 经典方法(程序片段)
  3. java 穷举法求水仙花数_常用算法-穷举法
  4. 23日广铁加开列车159列 深圳至潮汕方向有少量余票
  5. python数组 swig_使用SWIG Python动态绑定C++对象
  6. max-width: 100%和width:100%的区别
  7. Qt学习:Qt将语音转换为文字
  8. ajax请求返回状态码
  9. 图论(最短路,最小生成树,并查集)
  10. WebBuilder后台JSON处理