容器镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。
命令1234567891011121314151617181920212223242526272829303132333435363738394041424344## 创建一个名为myubuntu的容器## -t:分配一个伪终端 -i:让容器的标准输入保持打开$ docker run --name=myubuntu -t -i ubuntu /bin/bash## 创建一个名为webserver 的nginx容器,使用卷映射本机/home/faker/myspace/ ...
Docker Hub目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像。大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现。
登录可以通过执行 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。 注册成功后,本地用户目录的 .dockercfg 中将保存用户的认证信息。
基本操作用户无需登录即可通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本地。
例如以 centos 为关键词进行搜索:
12345678$ sudo docker search centosNAME DESCRIPTION STARS OFFICIAL AUTOMATEDcentos The official ...
sort是在Linux里非常常用的一个命令,管排序的。
1.工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
1234567891011121314151617$ cat seq.txtappleallowphotobowlpealcheckcheese$ sort seq.txtallowapplebowlcheckcheesepealphoto
2.sort的-u选项它的作用很简单,就是在输出行中去除重复行。
3.sort的-r选项sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。
4.sort的-o选项由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
123[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt[rocrocket@rocrocket p ...
1.修改DNS解决方案一:修改网卡的DNS的配置文件
1$ vim /etc/resolv.conf
添加以下内容,设置两条dns
12nameserver 8.8.8.8 #google域名服务器nameserver 8.8.4.4 #google域名服务器
若未生效,可执行 chattr +i /etc/resolv.conf 设置文件属性只有root用户才能修改然后执行 service NetworkManager restart
解决方案二:对接口添加dns信息;编辑/etc/sysconfig/network-scripts/ifcfg-xxx,xxx为你的网卡名,但一般是ifcfg-eth0的,具体的xxx根据你的网卡确定,在最下面添加:
12DNS1=8.8.8.8 #google dns服务器, 根据实际情况更换DNS2=8.8.4.4 #google dns服务器, 根据实际情况更换
保存后重启网络
1$ service network restart
2.修改网关修改网关的配置文件(第3部分也可以设置)
...
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
构建镜像命令格式:
1$ docker build [选项] <上下文路径/URL/->
示例:
12## 构建一个名为 nginx:v3 的镜像$ docker build -t nginx:v3 .
RUN 执行命令
shell格式:RUN <命令>,就像直接在命令行中输入的命令一样。刚才写的 Dockrfile 中的 RUN 指令就是这种格式。
1RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
exec格式:RUN [“可执行文件”, “参数1”, “参数2”],这更像是函数调用中的格式。
COPY 复制文件格式:
COPY <源路径>... <目标路径>
COPY ["<源路径1>",... ...
WhatDocker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。
安装12345678## 官方 的安装脚本$ curl -sSL https://get.docker.com/ | sh## 阿里云 的安装脚本$ curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -## DaoCloud 的安装脚本$ curl -sSL https://get.daocloud.i ...
安装笔者环境操作系统:deepin 15.4 Desktop 64Bit
安装12345678## 官方 的安装脚本$ curl -sSL https://get.docker.com/ | sh## 阿里云 的安装脚本$ curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -## DaoCloud 的安装脚本$ curl -sSL https://get.daocloud.io/docker | sh
获取镜像Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。从 Docker Registry 获取镜像的命令是 docker pull。其命令格式为:
1$ docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。
Docker Registry地址: ...
summary
系统环境: Red Hat 4.8.5-11
情况:
home:500G
root:50G
root分区不够用
思路:把home分区的空间划一部分到root分区
12345678## 设置home分区大小为200G,释放300G空间$ lvreduce -L 200G /dev/centos/home## 将空闲空间扩展到root分区$ lvextend -l +100%FREE /dev/centos/root## 使用XFS文件系统自带的命令集增加分区空间$ xfs_growfs /dev/mapper/centos-root
实例situation挂载在根目录的分区 /dev/mapper/centos-root 爆满,占用100%
12345678910$ df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 50G 50G 19M 100% /devtmpfs 32G 0 32 ...
原因由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。
解决方案使用7z解压。
安装p7zip和convmv
1234## fedora$ su -c 'yum install p7zip convmv'## ubuntu$ sudo apt-get install p7zip convmv
执行一下命令解压缩
1234## 使用7z解压缩$ LANG=C 7za x your-zip-file.zip## 递归转码$ convmv -f GBK -t utf8 --notest -r .
去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了。
话归正传,在linux上一直使用vim,慢慢熟悉了它的命令,才终于领悟了什么是编辑器之神。
最近抽空整理了这份速查表,收获颇丰,并分享给大家。
进入vim
命令
描述
vim filename
打开或新建文件,并将光标置于第一行首
vim +n filename
打开文件,并将光标置于第n行首
vim + filename
打开文件,并将光标置于最后一行首
vim +/pattern filename
打开文件,并将光标置于第一个与pattern匹配的串处
vim -r filename
在上次正用vim编辑时发生系统崩溃,恢复filename
vim filename….filename
打开多个文件,依次编辑
vim配置
命令
描述
all
列出所有选项设置情况
term
设置终端类型
ignorance
在搜索中忽略大小写
list
显示制表位(Ctrl+I)和行尾标志($)
number
显示行号
report
显示由 ...