docker的定义:

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,它采用c/s架构。

docker组件:

1)镜像(image):docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。

2)容器(Container):使用镜像常见的应用或者系统,我们称之为一个容器。

3)仓库(repsitory):仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。

docker环境安装:

ubuntu16.04系统,需要运行在64为系统上,并且要求内核版本不低于 3.10

uname  -a    #查看系统内核

docker安装的步骤:

1.  root  passwd  #设置root账号的密码

2.   su  root    #切换到root账号

3.  apt-get update  #更新系统

docker自动安装:

安装docker方法一:

apt-get install -y docker.io

安装docker方法二:(脚本)

curl -sSL https://get.docker.com/ | sh

或者国内的阿里云镜像脚本安装:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh

docker的手动最新官方安装:

1.  apt-get update  #更新系统

2.  sudo apt-get install apt-transport-https ca-certificates  #下载国内阿里云软件源镜像

3. apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

#添加 Docker 官方软件源的 GPG 密钥

4.操作系统对应的更新源<repo>:

Trusty 14.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-trusty main

Xenial 16.04 (LTS)  deb https://apt.dockerproject.org/repo ubuntu-xenial main

5.更新系统源:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

6.  apt-get update                #更新 apt 软件包缓存

7.  apt-get install docker-engine   #安装最新版本docker

8.  service docker start            #启动docker

docker基本命令:

1.查看docker版本

docker version

2.查看docker运行状态:

service docker  status

3.搜索要拉去的镜像名ubuntu

docker search ubuntu

4.拉取镜像ubuntu

docker  pull ubuntu

5.下载指定版本 ubuntu 官方镜像

docker pull ubuntu:14.04

6.查看指定镜像

docker images ubuntu 

7.查看本机全部镜像

docker images

8.运行一个ubuntu的bash并提供交互式的命令终端,退出删除镜像

docker run -it --rm ubuntu  bash

或者

docker run -t -i ubuntu   /bin/bash

注释:

命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令

-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。

--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。

ubuntu:这是指用 ubuntu镜像为基础来启动容器。

bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash

9.移除镜像(没有运行的镜像)

docker rmi ubuntu

10.查看docker的进程

docker ps

11.在docker镜像中安装程序

docker run ubunutul  apt-get install -mysql

12.容器的启动和停止

docker  ps

dokcer  stop/start/kill/rm   容器ID  //停止,启动,禁止,删除容器

13.获取docker的基本信息

sudo docker info     #可查看容器个数,容器镜像,安装路径

14.自动端口映射

sudo docker run -t -P --expose 22 --name server  ubuntu:14.04

#-P使用时需要指定--expose选项,指定需要对外提供服务的端口

docker基础学习的更多相关文章

  1. 【补充】docker基础学习

    docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...

  2. Docker 基础学习(一)

    Docker官网:https://docker.com/ 中文翻译非常好的学习地址:http://dockerpool.com/static/books/docker_practice/index.h ...

  3. [Docker] docker 基础学习笔记3(共6篇)

    首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...

  4. [Docker] docker 基础学习笔记2(共6篇)

    febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个.   安装还是挺方便的. yum -y install febootstrap   febootstrap -i ...

  5. Docker基础学习相关网址

    中文学习地址:https://yeasy.gitbooks.io/docker_practice/content/ 官网介绍地址:https://www.docker.com 官网学习地址:https ...

  6. [Docker] docker 基础学习笔记6(共6篇)

    这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置   首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...

  7. [Docker] docker 基础学习笔记5(共6篇)

    docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker   现在比如我自己电脑上已经装好了docker,但 ...

  8. [Docker] docker 基础学习笔记1(共6篇)

    巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源.   从163的网址里边下载好 ...

  9. docker基础学习(一)

    操作演示: 1.查看一个容器的版本 [root@ELK-chaofeng08 ~]# docker version Client: Version: API version: 1.39 Go vers ...

随机推荐

  1. bilibili携手WeTest,保障视频类应用优质适配体验

    WeTest 导读 中国移动视频用户规模越来越大,各类移动视频APP也百家争鸣, B站作为国内知名的年轻人文化社区,bilibili在推出移动端时,除了坚持自身的独特定位以外,对其APP的质量也十分重 ...

  2. NPOI读取Excel到集合对象

    之前做过的项目中有个需要读取Excel文件内容的需求,因此使用NPOI实现,写下以下代码,这个只是一个代码段,还有很多地方需要优化,希望能对大家有所帮助 public static IList< ...

  3. 如何解决Django与Vue语法的冲突

    当我们在django web框架中,使用vue的时候,会遇到语法冲突.因为vue使用{{}},而django也使用{{}},因此会冲突. 解决办法1:在django1.5以后,加入了标签:{% ver ...

  4. linux系统CPU内存磁盘监控发送邮件脚本

    #!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...

  5. JDBC处理大数据

    1.处理大文本 package com.demo; import java.io.File; import java.io.FileNotFoundException; import java.io. ...

  6. Centos7部署Kubernetes集群(单工作节点)+配置dashboard可视化UI

    目标:docker+kubernetes+cadvosor+dashboard 一:物理硬件 两台虚拟机(centos7):一台做为主节点(master),一台做为工作节点(node) [root@M ...

  7. NO.1:自学tensorflow之路------神经网络背景知识

    引言 从本周,我将开始tensorflow的学习.手头只有一本<tensorflow:实战Google深度学习框架>,这本书对于tensorflow的入门有一定帮助.tensorflow中 ...

  8. scrapy-redis+selenium+webdriver 部署到linux上

    背景:在使用selenium时,在本地使用windows,都会有一个图形界面,但是到了生产环境linux上没有了图形界面怎么部署呢? 解决方案: 1.安装图形化界面,不推荐,因为安装图形化界面会占用很 ...

  9. Centos7与Centos6的区别

    CentOS7 修改网卡名称为eth0.eth1 方法1 修改网卡名称 cd /etc/sysconfig/network-scripts/ mv ifcfg-eno16777736 ifcfg-et ...

  10. 【转】React-Native 实现增量热更新的思路

    所谓热更新就是在不重新安装的前提下进行代码和资源的更新,相信在整个宇宙中还不存在觉得热更新不重要的程序猿. 增量热更新就更牛逼了,只需要把修改过和新增的代码和资源推送给用户下载即可,增量部分的代码和资 ...