docker(一) 安装与创建容器

一.docker的安装

阿里镜像源

常用的开发的docker,公司一般有自己的yum

CentOS 7(使用 yum 进行安装

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

安装校验

root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

核心组件
1.镜像:容器创建出来的对象

小例子:你装了一个软件放在c盘就是镜像,当你启动了跑起来了的话他就叫做容器。

2.容器:一个镜像可以启动很多个容器

3.库:保存镜像的地方,就像我们下载engix,tomcat,或者其他的容器的时候,都需要先去把镜像给下载下来,那么下载镜像的时候从哪里下载就是从我们的库里面去下载,其实就是我们的hub.docker.web这个网站去下载,当我们镜像下载下来了之后我们的虚拟机里面就有了这个镜像了,那么下次启动容器的时候就不用再去下载这个镜像了

二.docker的操作

2.1查看容器

docker ps 查看当前正在运行的容器在这里插入图片描述

2.2 查看所有容器

docker ps -a
查看所有容器,在运行和不在运行的都可以查看到
在这里插入图片描述

2.2.1容器的参数含义

在这里插入图片描述

1. CONTAINER ID

   CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器。

2. IMAGE

   IMAGE表示创建容器时使用的镜像。 

3. COMMAND

   COMMAND表示容器最后运行的命令。

4. CREATED

   创建容器的时间。

5. STATUS

   容器的状态,这里可能显示一个容器启动时间,也能显示容器关闭时间。具体显示那个要看容器当前的状态。  

6. PORTS

   容器对外开放的端口。

7. NAMES

   容器的名字,如果不设置,会有一个默认的名字。  

2.3 查看最新创建的容器

使用docker ps -l可以查看最近创建的容器

docker ps -l

在这里插入图片描述

2.4查看最新创建的n个容器

docker ps -n=xxx
n=2 查看最新创建的2个容器
n=xxx 查看最新创建的xxx个容器

在这里插入图片描述

2.3 创建容器

创建容器整体上来说有两种不同的方式:

1.先创建,再启动
2.可以连创建带启动一步到位

无论是那种方式,流程都是相似的,当执行一个创建命令之后,docker首先会去本地路径下查找是否有相应的镜像,如果没有,就去docker hub上搜索,如果搜索到了,则下载下来,然后利用该镜像创建一个容器并启动

需要注意的是:
容器的文件系统是在只读的镜像文件上添加一层可读写的文件层,这样可以使在不改变镜像的情况下,只记录改变的数据

2.3.1 先创建容器再启动容器

docker create
这个命令创建出来的容器处于停止状态,并没有运行

2.3.1.1 不指定name创建

例如要创建一个nginx容器,创建命令如下:

docker create nginx
创建成功后,可以查看容器是否创建成功:
在这里插入图片描述
注意:此时创建的容器并未运行,处于停止状态,容器的name是随机生成的,开发者也可以在创建容器时指定name,如下:

2.3.1.2 指定name

docker create --name=nginx nginx
实际上就是设置一下他的name属性而已并没有什么不同

在这里插入图片描述
注意:

1.此时的name属性就不是随机生成的,而是用户指定的name。
2.这种方式只是单纯的创建了一个用户,并未启动

2.3.2 一步创建+启动容器

如果开发者需要既创建又启动容器,则可以使用

docker run 命令

可以启动两种不同模式的容器:
1.后台型容器:后台型容器就是一个在后台运行的容器,默默的在后台执行计算就行了,不需要和开发者进行交互.
2.交互型容器:接收开发者的输入进行处理给出反馈

注意:对于开发者而言,大部分情况下创建的都是后台型容器,不过在很多时候,即使是后台型容器也不可避免的需要进行交互

2.3.2.1 后台型容器

后台型容器以nginx为例,一般nginx在后台运行即可

docker run --name houtai -d -p 8080:80 nginx
–name含义和上文一样,表示创建的容器的名字
-d表示容器在后台运行
-p表示将容器的80端口映射到宿主机的8080端口

在这里插入图片描述
这种创建方法:
1.首先依旧是检查本地有无相应的容器,有直接启动
2.没有就去docker hub查找,查到到下载,然后运行,并且生成了一个容器的id
3.运行成功后我们在浏览器中输入http://localhost:8080就能看到nginx的默认界面

在这里插入图片描述

2.3.2.2 交互型容器

ubuntu容器是我们常见的交互形容器交互型容器
交互型容器创建方式如下:

docker run --name jiaohuubuntu -it ubuntu /bin/bash
–name含义和上文一样,表示创建的容器的名字
-it参数,i表示开发容器的标准输入(STDIN),t则表示告诉docker,为容器创建一个命令行终端

注意:
该命令执行完后,会打开一个输入终端
退出终端,只需要输入exit命令

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值