刘长铭:请鼓励你的孩子做一个幸福的普通人

小说:刘长铭:请鼓励你的孩子做一个幸福的普通人作者:通侯道秉更新时间:2019-03-22字数:82305

强大的力量,顿时化作一道光柱之中天空,而那灵王被困在这光柱之中,他在呐喊,在嘶吼,似乎是想要从这里面冲出去。

公鸭嗓,不成熟,飞机场,周迅到底有啥好?

柳二娘笑了一下,一笑起来有两个甜甜的酒窝很好看,就在管事喊了那么一嗓子的时候,柳二娘吃惊不小,能够识破自己跟踪术的人不多,莫非对方是其中高手。
林风看在眼里,不知为何,这一刻有一种错觉,藏经阁内所发生的事,是否忽略了什么!

离了阎罗殿,见鬼差忙忙碌碌,拘神送魂,悟空心中却有说不出的烦躁。他又在十殿中寻了几圈,终究未能找到地藏王菩萨的住地,于是悻悻离去。

一.简介

开发当中比较麻烦的问题在于软件配置,每个人的机械以及系统都不尽相同,程序需要运行在系统当中需要配置好相应的系统以及各种依赖的组件,但是很多时候由于各种软件依赖包的版本,系统兼容性问题会导致程序运行出现问题,人们便寻求一种可以解决这种问题的方法。

虚拟机

而虚拟机技术就是其中的一种解决方法,众所周知,虚拟机技术允许一种操作系统之上运行另一种操作系统,如win系统安装linux的虚拟机,而里面的运行程序却认为自己依旧运行在linux里面,因此用户只需要打包整个自己的运行环境,就可以在不同的系统利用虚拟机技术完美运行程序所需要的系统,而里面的程序更不在话下,且打包好的系统对于运行的系统而言只是一个文件,可以轻松管理。

但是虚拟机技术却有一种比较大的问题,那就是用户明明只需要运行某个程序,却需要引入该程序所处的整个系统,不但占用的空间很大,且启动速度也比较慢,毕竟需要启动整个系统。

容器技术

由于虚拟机存在这些缺点,Linux发展出了另一个虚拟技术:Linux容器,相对于虚拟机,Linux容器不是模仿一个完整的操作系统,而是对进程进行隔离。在这个容器里面,它接触到的资源都是虚拟的,他只需要它本身所需要的组件,相对于虚拟机技术而言,更轻量级,而docker就是对Linux容器的一种封装,提供给我们简单易用的接口,将应用程序以及依赖打包在一个文件里面。

二.安装docker

我是ubuntu系统,安装docker可以使用官方的快捷安装脚本进行安装。

$ wget -qO- https://get.docker.com/ | sh

但是我安装起来有点问题,在添加gbp的时候,所以我是安装教程一步步安装的。

# 添加gbp,但是我按照官方教程执行有点问题,去掉最后一个-符号就可以执行
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 添加APT资源
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
# 查看源是否已经生效
$ apt-cache policy docker-ce
# 这时候应该输出类似于这种东西,如果没有这些输出的话,下面的安装就会找不到软件包了
# docker-ce:
#   Installed: (none)
#   Candidate: 17.03.1~ce-0~ubuntu-xenial
#   Version table:
#      17.03.1~ce-0~ubuntu-xenial 500
#         500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
#      17.03.0~ce-0~ubuntu-xenial 500
#         500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

# 最后安装docker
$ sudo apt-get install -y docker-ce
# 安装之后执行以下命令有信息输出即证明成功。
$ sudo systemctl status docker

之后我们可以通过下载一个镜像来尝试运行hello world。

docker run ubuntu echo "Hello world"

三.使用国内源

我们的docker在国内下载镜像并不会很流畅,所以我选择使用国内官方的景象。
我直接新建文件:/etc/docker/daemon.json,然后添加如下json,重启docker即可永久选择国内镜像。

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

四.docker的基本概念

1.image(镜像)

docker把应用程序以及其依赖,打包在image文件里面,docker容器是通过运行image生成的实例,同一个image文件可以生成多个容器实例。

2.container(容器)

container是一个docker的运行实例,也叫做容器,本身也是一个文件,可以理解容器实例就是通过渲染运行image镜像之后才产生的。值得注意的是生成容器之后,关闭容器不会删除该容器文件,该容器文件之后停止运行了而已。

至于镜像以及容器之间拥有镜像分层结构,详解可以看出我写的这篇文章。

五.基本命令

镜像操作

# 查看当前本地镜像列表
$ docker images
# 查看远程相关镜像镜像
$ docker search 镜像名字
# 拉取镜像到本地
$ docker pull 镜像名字
# 删除镜像(当存在多个名字一样的镜像时候,可以通过指定tag方式来操作,如ubuntu:16.04)
$ docker rmi 镜像名字

容器的基本操作

# 创建一个docker容器,返回容器的id
$ docker create 镜像名字
# 运行docker容器
$ docker start 容器id
# 新建容器且运行,也就是上面两步一块执行。
# 值得注意的是如果该镜像在本地不存在,会自动从源那里去拉取
$ docker run 镜像名字
# 停止容器
$ docker stop 容器id
# 查看当前运行的docker容器
$ docker ps
# 查看全部的docker容器
$ docker ps -a
# 删除容器
$ docker rm 容器id

新建容器(docker run 镜像)常见可选参数:

  1. p:指定映射端口,如运行一个nginx服务,那么我可以设置 -p 8080:80来把本地的8080端口映射到容器里的80端口。
  2. d:容器作为一个守护进程去进行运行,也就是保持后台运行,运行后会返回cotainer id。

容器与镜像间的操作

# 终端连接到容器
$ docker exec -i -t 容器id bash
# 复制文件到容器里面
$ docker cp index.html 镜像id://usr/share/nginx/html
# 保存更改并生成为一个新的image文件
$ docker commit -m "mess" 镜像id 镜像名字

编辑:安邓成

发布:2019-03-22 11:39:42

当前文章:http://cnsdbtzg.com/news_71637.html

佛家告诉你什么才是放下? 【情感咨询】人至贱则无敌 为什么现在的人对婚姻的忠诚度越来越低? 人民币升值贬值利弊分析 卵子冷冻能否带来“静蕾效应”? 爱情·你是我猜不到的不知所措 男女交往最忌讳的是什么? 性格影响婚姻

49193 88748 26385 90070 44081 67870 85069 14083 38696 51016 28794 58614 43681 44637 64257 61881 73559 85347 38089 32852

我要说两句: (0人参与)

发布