docker基础学习
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基础学习的更多相关文章
- 【补充】docker基础学习
docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...
- Docker 基础学习(一)
Docker官网:https://docker.com/ 中文翻译非常好的学习地址:http://dockerpool.com/static/books/docker_practice/index.h ...
- [Docker] docker 基础学习笔记3(共6篇)
首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...
- [Docker] docker 基础学习笔记2(共6篇)
febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个. 安装还是挺方便的. yum -y install febootstrap febootstrap -i ...
- Docker基础学习相关网址
中文学习地址:https://yeasy.gitbooks.io/docker_practice/content/ 官网介绍地址:https://www.docker.com 官网学习地址:https ...
- [Docker] docker 基础学习笔记6(共6篇)
这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置 首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...
- [Docker] docker 基础学习笔记5(共6篇)
docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker 现在比如我自己电脑上已经装好了docker,但 ...
- [Docker] docker 基础学习笔记1(共6篇)
巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源. 从163的网址里边下载好 ...
- docker基础学习(一)
操作演示: 1.查看一个容器的版本 [root@ELK-chaofeng08 ~]# docker version Client: Version: API version: 1.39 Go vers ...
随机推荐
- javaweb(八)——HttpServletResponse对象(二)
一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: 1 package gacl ...
- selenium+python 搭建自动化环境
一.以搭建windows平台为例 准备工具如下: 1)下载Python 2)安装,配置环境变量 3)安装selenium,通过pip安装,命令如下: pip install selenium 方式二 ...
- TW实习日记:第九天
这两天有点忙,要改前端网页和加需求上去.所以昨天说的Vue缓存机制也没看,所以打算现在列个挖了的坑的清单: Vue缓存机制.生命周期和钩子函数 使用项目组自用组件来重写静态页面 SSM框架搭建.整合流 ...
- JVM监控及堆栈内存
jconsole 堆内存:存放new出来的对象 栈内存:存放基本数据结构和对象的引用,但对象本身放在堆中
- AngularJS学习之数据绑定
既然AngularJS是以数据作为驱动的MVC框架,在上一篇文章中,也介绍了AngularJS如何实现MVC模式的,所有模型里面的数据,都必须经过控制器,才能展示到视图中. 什么是数据绑定 首先来回忆 ...
- 感谢——Thunder团队
团队软件的开发,已经进入第二个阶段——Beta版本了.回头看看,我们走过了很长的一段路,也经历了很多,有意见不一的争吵.有取得暂时成功时的欢欣鼓舞,我们就像一家人,就像那首歌中唱到的,“我们是一家人, ...
- 2018软工实践—Alpha冲刺(5)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助测试的进行 测试项目运行的服务器环境 ...
- c++团队作业工作笔记
这周时间还比较充裕,所以就有较多的时间来投入团队作业之中. emmmm,由于组长那边感觉完全没动,于是我完成了选英雄的UI界面,到时候给button加上信号就没什么问题. 虽然界面比较简单,但是还是花 ...
- WCF RestFull提交数据超出限额解决方法
最近在使用wcf restfull时出现了超大数据提交出错的问题. 服务端会返回错误:服务器处理请求时遇到错误.有关构造有效服务请求的内容,请参阅服务帮助页.异常消息为“反序列化对象 属于类型 Yes ...
- DNS缓存服务器的配置步骤
yum安装bind 编辑主配置文件/etc/named.conf 修改全局配置文件段 listen-on port 53 {172.16.19.45;}; //allow-query ...