Docker基础之二: Linux快速入门
Linux快速使用教程
(提示:对Docker感兴趣的朋友可以加我的微信ghostcloud2016,然后我把你加到我们的一个Docker爱好者群组里面。)
由于Docker是的容器都依赖于linux 内核,因此这一节主要是快速简单的介绍一下linux,如果你对linux比较熟悉,可略过。
1 为什么要使用linux
- 本身开源免费
- 支持众多开源的软件,诸如mysql, apache, mongodb, nodeJS等
- 基本上90%以上的互联网公司都使用linux作为后端服务器
- 云主机大多数都是基于linux系统
2 选取什么发行版本
Linux包含了很多的发行版本,包括ubuntu, centos, redhat, federa等等,但是他们都是基于linux kernel,各个发行版本都会做相应的包装、优化和简化,但是基本上内核版本不会有太大的差异。根据我的经验,我推荐使用ubuntu 或者centos。Ubuntu的优点是:
- 内核更新及时
- 软件安装和更新方便
- GUI简单实用 CentOS就是Red Hat Enterprise 的开源版本,也是不错的选择,考虑到Ubuntu对Docker的完美支持,我一般推荐使用Ubuntu.
3 图形界面 Or 命令行界面
在安装的时候,ubuntu14.04提供了桌面版和服务器版,如果你要使用eclipse等工具进行开发,肯定要选择桌面版;如果你只是运行后台程序,最好选择服务器版,多使用服务器版把linux的命令用熟悉也是一种学习和锻炼。
4 英文 Or 中文
一般来说使用linux的用户都是相对专业的用户,我建议一律使用英文的操作系统。使用英文操作系统,可以熟悉英文,同时不会出现奇怪的乱码字符。
5 安装ubuntu 14.04
安装的时候就根据提示一步步的进行就可以了,在中途选择软件的时候,至少把SSH server选上,方便后续连接入系统。安装完毕后,我们通过之前设置的用户名和密码登录,接下来我们做一些常用配置。
5.1 启用root用户
root用户是linux的最高权限用户,相当于windows的超级管理员。我们可以通过下面的方式来启用root用户:
root@gctest:~# sudo passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
根据提示输入当前用户的密码,然后再输入root的密码。sudo是以管理员身份运行命令。然后通过su 命令切换到root用户.
5.2 使用vim
vim是ubuntu默认的文本编辑器,学习使用linux第一步就是学会使用vi。有的时候vim可能是没有安装的,我们需要手动来进行安装:
root@gctest:~# sudo apt-get update && apt-get install vim Hit http://mirrors.163.com precise Release.gpg Hit http://mirrors.163.com precise Release Hit http://apt.ghostcloud.cn ubuntu-precise Release.gpg
安装成功之后,我们就可以使用vim了。vim 是vi的升级版,有了很多优化。常用的命令有:
i – 从当前位置开始插入数据 a – 在当前位置后面插入数据 esc – 退出编辑模式 : - 在vim中执行一条指令,比如wq就是保存加退出 / - 搜索文字 上下左右键 – 移动光标,vi 里面不能用方向键,但是vim里面是可以使用的
虽然还有很多命令,但是用上面的基本就能操作了。
5.3 配置网络
ubuntu的网络配置是放在/etc/network/interfaces下的,我们通过vim来进行查看和修改
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.0.0 gateway 192.168.0.1 dns-nameservers 61.139.2.69 218.6.200.139
修改完毕后,我们需要重启网络,一个比较好的方式是禁用再启用网络:
root@gctest:~# ifdown -a && ifup -a
5.4 启用SSH Server
SSH是Secure Shell的缩写,是linux的标准远程连接工具,通过这个工具我们可以以命令行的方式远程连接到 linux主机之上。首先我们需要检查在主机上是否安装了ssh server
root@shev:~# dpkg -l | grep openssh-server ii openssh-server 1:6.6p1-2ubuntu2 amd64 secure shell (SSH) server, for secure access from remote machines
如果没有安装就不会有下面的输出。接下来,我们需要配置ssh
# vim /etc/ssh/sshd_config #允许Root登录 PermitRootLogin yes #允许通过密码进行验证登录 PasswordAuthentication yes `
保存退出后,执行
root@gctest:~# restart ssh
然后验证能否本地登录
root@shev:~# ssh root@localhost The authenticity of host 'localhost (::1)' can't be established. ECDSA key fingerprint is 3a:8c:00:76:4d:4d:62:a7:c7:18:a0:00:e6:d0:17:c7. Are you sure you want to continue connecting (yes/no)?
根据提示输入用户密码,如果可以登录说明安装成功,最后执行exit,退出ssh连接。
5.5 通过客户端连接linux主机
目前市面上有很多ssh客户端,包括免费的XShell, Secure CRT等,如果你使用linux或mac系统,本身就自带 ssh 客户端。Ssh 命令登录,需要指定用户和ip地址,格式如下:
ssh <用户名>@<IP> #如:ssh root@192.168.1.10 表示,以root用户登录192.168.1.10机器。
5.6 免密码登录linux主机
免密码登录的原理是在你需要登录的远程主机上,存放当前机器的公钥。
- 在当前机器生成公钥和私钥 ssh-keygen
- 根据提示生成以后,会在~/.ssh/目录下生成相关的文件。这里的~指的是用户的目录,比如,在linux下abc用户的目录为/home/abc,root用户的目录为/root,在mac下是在/Users/<用户名>
- 将公钥id_rsa.pub拷贝到目标机器上 scp ~/.ssh/id_rsa.pub root@192.168.1.10:~/ 这行命令将当前用户的公钥拷贝到远程机器的root用户目录下
- ssh root@192.168.1.10
- ssh-keygen #在远端产生密钥
- cat id_rsa.pub >> ~/.ssh/authorized_keys #加入信任列表
- rm id_rsa.pub #删除公钥
- exit #退出远程机器 这时已经返回到当前机器,再执行ssh root@192.168.1.10就不再需要输入密码了。
5.7 安装软件
Ubuntu软件安装用的是和debian一样的系统——apt。apt就是一个软件仓库,你只需要指定仓库地址,然后就可以进行搜索和安装.
- 添加源:默认的ubuntu源是指向国外的,位于/etc/apt/sources.list,我们可以在网上搜索国内的源,比如:网易源,阿里源等
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
- 搜索软件
root@shev:/etc/apt# apt-cache search apache2 | grep ^apache2 apache2 - Apache HTTP Server apache2-bin - Apache HTTP Server (binary files and modules) apache2-data - Apache HTTP Server (common files) apache2-dbg - Apache debugging symbols apache2-dev - Apache HTTP Server (development headers) apache2-doc - Apache HTTP Server (on-site documentation) apache2-mpm-event - transitional event MPM package for apache2 apache2-mpm-prefork - transitional prefork MPM package for apache2 apache2-mpm-worker - transitional worker MPM package for apache2 apache2-utils - Apache HTTP Server (utility programs for web servers) apache2.2-bin - Transitional package for apache2-bin apache2-mpm-itk - transitional itk MPM package for apache2 apache2-suexec - transitional package for apache2-suexec-pristine apache2-suexec-custom - Apache HTTP Server configurable suexec program for mod_suexec apache2-suexec-pristine - Apache HTTP Server standard suexec program for mod_suexec
- 安装软件
root@shev:/etc/apt# apt-get install apache2 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert Suggested packages: apache2-doc apache2-suexec-pristine apache2-suexec-custom apache2-utils openssl-blacklist The following NEW packages will be installed: apache2 apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert 0 upgraded, 8 newly installed, 0 to remove and 72 not upgraded. Need to get 1285 kB of archives. After this operation, 5348 kB of additional disk space will be used. Do you want to continue? [Y/n] y
-
卸载软件
root@shev:/etc/apt# apt-get purge apache2
-
查找本地安装的软件
root@shev:/etc/apt# dpkg -l

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker基础之一: Docker架构
Docker的架构 Docker使用的是 C-S架构。Docker的客户端同Docker Daemon进行交互,其中主要的工作是通过 daemon来完成,包括拉取镜像,编译镜像,运行容器,发布容器等。Docker client和daemon可以运行在同一个系统上,也可以通过远程方式进行访问。Docker client和daemon之间是在 socket 上通过RESTful API来进行交互的。 Docker Daemon 如上图所示,Docker daemon运行在一个主机之上,用户并不是直接同daemon进行交互,而是通过Docker client来进行访问。 Docker Client 在Docker那个方框中,是主要的用户访问Docker的渠道。用户通过它对Docker Daemon进行访问控制。 Docker Images Docker Image是一个只读的模板。比如,一个Image可以包含一个Ubuntu操作系统,整个系统可以包括Apache和你的web应用。Image是用来创建容器的。Docker提供了一种简单的方式来创建Image和更新已有的 Image, 你可以从网...
- 下一篇
Docker基础之三: 安装docker+HelloWorld
安装Docker (提示:对Docker感兴趣的朋友可以加我的微信ghostcloud2016,然后我把你加到我们的一个Docker爱好者社群里面。) Docker最核心的程序是Docker Engine,根据参数,它既可以作为后台daemon运行,也可以作为命令行工具使用。 1 Linux上安装 Docker本身是基于linux内核的,因此只要内核版本足够新,一般大于3.10左右,就可以运行。各种系统的安装方式基本相同,只是针对各系统的进程管理或者目录结构略有不同。下面是docker在linux系统下的物理逻辑结构: 2 Ubuntu上安装Docker 在所有系统中,Docker对ubuntu的支持是最好的,因此如果使用docker,我推荐都适用ubuntu系统。Ubuntu系统的可视化、安装以及内核的更新,我认为都是最好的。Docker支持的Ubuntu系统: Ubuntu Wily 15.10 Ubuntu Vivid 15.04 Ubuntu Trusty 14.04 (LTS) Ubuntu Precise 12.04 (LTS) 环境要求: 64位系统 3.10以上linu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境