docker实验一

Docker 概述

  • Docker 是一个开源的应用容器引擎
  • 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低
  • Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

docker架构:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。 

实验0 基础实验

1.docker安装实验

(1)在本机ubuntu环境中安装docker

系统版本:ubuntu14.04

步骤:

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

注:上述命令下载文件时可能会下载不全,根据提示使用修复(--fix)下载,直到下载完全正确。 

验证:

wuyi@ubuntu:~$ sudo docker version
[sudo] password for wuyi: 
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        d7080c1
 Built:             Wed Feb 20 02:27:13 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       d7080c1
  Built:            Wed Feb 20 02:25:38 2019
  OS/Arch:          linux/amd64
  Experimental:     false
wuyi@ubuntu:~$ 

(2) docker源修改

将docker源配置为阿里云镜像:

  1. 进入官网:https://dev.aliyun.com/
  2. 进行注册账户并登录
  3. 在产品与服务中找到容器镜像服务,点击进入
  4. 左栏中点击镜像加速器
  5. 按操作文档进行配置
  6. 注:ubuntu14.04不支持systemctl,重启docker使用service命令(sudo service docker start)

2.镜像管理实验

(1) 搜索mysql镜像(... search + 关键词 可以用来搜索镜像)

$ sudo docker search ubuntu

(2) 下载搜索列表中的第一项

# 使用这条指令可以下载名为ubuntu的镜像
$ sudo docker pull ubuntu
# 下载 ubuntu的镜像,且指定版本14.04
$ sudo docker pull ubuntu:14.04
# 从指定的镜像源dl.dockerpool.com下载最新的Ubuntu镜像
$ sudo docker pull dl.dockerpool.com:5000/ubuntu

(3) 使用 sudo docker images查看本地镜像

(4) 使用tag命令,依次创建3个本地别名文件

$ sudo docker tag mysql mysql:1
$ sudo docker tag mysql mysql:2
$ sudo docker tag mysql mysql:3
$ sudo docker images

最后查看本地镜像信息,体会REPOSITORY、TAG、IMAGE ID之间的变化

(5)使用rmi命令删除 mysql:1 镜像,再使用 images 查看变化

(6)使用rmi命令删除 mysql    镜像,再使用 images 查看变化

(7)使用rmi命令删除 Image ID ,再使用 images 查看变化

(提示:强制删除加 -f )

# 类似于
$ sudo docker rmi d72169616e20

 

(8)下载ubuntu镜像,并使用inspect命令查看ubuntu镜像的信息,先查看全部信息,再单独查看DockerVersion信息(提示:sudo docker inspect -f {{".DockerVersion"}} ubuntu:1)

 3.容器管理实验

1.体会容器的两种创建并启动方式

第一种 : create + run 运行容器

(1) 使用create命令由ubuntu镜像创建一个容器(注意使用 -it 指令)

(2) 分别使用 sudo docker ps -a 和 sudo docker ps 查看本机容器状态

(3) 使用start相关的命令启动一个容器  

(4) 再分别使用 sudo docker ps -a 和 sudo docker ps 查看本机容器状态

 

第二种:使用run直接运行一个容器

(5) 使用run直接由ubuntu镜像创建一个容器,并使其在后台以守护态运行

$ sudo docker run -idt ubuntu

(6) 再分别使用 sudo docker ps -a 和 sudo docker ps 查看本机容器状态

 

2.进入处于运行态的容器

(7) 使用 exec 进入刚刚创建的容器

 

3.关闭处于Up状态(即,启动状态)的容器

(8) 使用stop命令终止一个容器,针对NAME终止其中一个容器,针对CONTAINER ID 终止另一个容器

(9) 再分别使用 sudo docker ps -a 和 sudo docker ps 查看本机容器状态

 

容器的删除(体会删除运行中容器以及不运行的容器)

(10)先启动一个容器,注意NAMES与STATUS

(11)对于两个不同状态的容器分别执行删除

回答问题:

1. 简要谈谈你对镜像,容器的理解.

答:利用面向对象的思想,镜像相当于一个类,而容器是镜像这个类的实例。

2. do docker run -idt ubuntu 命令中 idt三个字母分别代表的含义.

答:-i:开启stdin

       -d:守护方式 daemon 在后台运行 docker container

       -t:分配一个伪tty终端

3. sudo docker ps -a 与 sudo docker ps命令的区别?

答:有-a参数表示显示所有的容器,无-a参数只显示启动的容器。

 

实验1-数据管理实验

  1. 在容器内创建一个数据卷
  2. 挂载主机目录或者文件作为数据卷
  3. 创建数据卷容器
  4. 在共享数据卷中创建一个文件
  5. 在其他的容器中查看被刚刚创建的文件 

 

实验问答:

1. 简述 touch 命令的作用

答:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

2. 简述 ls 命令的作用

答: ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

实验2-网络配置实验

1. 将容器与主机的端口号相绑定(分别使用不同的方法)

2. 实现容器与容器的互联,使用ping命令检验连通性

 

参考:https://shimo.im/docs/FnT8B0CdmlkiD1mO/read

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值