docker入门

Centos7安装Docker

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

我们平时用社区版就足够了。所以我们安装社区版;
我们主要参考:
https://docs.docker.com/install/linux/docker-ce/centos/来安装;

我们切换到root用户
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ yum update

3、卸载旧版本(如果安装过旧版本的话)
$ yum remove docker docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6,安装最新版本的Docker
$ yum install docker-ce docker-ce-cli containerd.io

7,启动Docker并设置开机启动
$ systemctl start docker
$ systemctl enable docker

8,验证Docker
$ docker version
在这里插入图片描述
9,Docker HelloWorld测试;
$ docker run hello-world
在这里插入图片描述
下载centos7
在这里插入图片描述

Docker HelloWorld运行原理解析

运行 docker run hello-world
本地仓库未能找到该镜像,然后去远程仓库寻找以及下载该镜像;

然后我们再执行该命令:
出来了 Hellowold。我们具体来分析下 执行原理和过程;
在这里插入图片描述
从左到右 client客户端,Docker运行主机,远程仓库;
docker build ,pull,run分别是 构建,拉取,运行命令,后面再细讲;
中间Docker主机里有 Docker daemon主运行线程,以及Containers容器,容器里可以运行很多实例,(实例是从右侧Images镜像实例化出来的)Images是存储再本地的镜像文件,比如 Redis,Tomat这些镜像文件;
右侧是Registry镜像仓库,默认远程镜像仓库 https://hub.docker.com/ 不过是国外主机,下载很慢,不稳定,所以我们后面要配置成阿里云仓库镜像地址,稳定快捷;

执行 docker run hello-world的过程看如下图例:
在这里插入图片描述

阿里云镜像仓库

配置步骤如下:
1,登录进入阿里云镜像服务中心,获取镜像地址
进入阿里云容器镜像服务地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
使用你的淘宝账号密码登录
在这里插入图片描述
2,在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入
{
“registry-mirrors”: [“https://xxxxxxx.mirror.aliyuncs.com”]
}

3,重启daemon
systemctl daemon-reload

4,重启docker服务
systemctl restart docker

Docker基本命令

启动Docker
systemctl start docker

停止Docker
systemctl stop docker

重启Docker
systemctl restart docker

开机启动Docker
systemctl enable docker

查看Docker概要信息
docker info

查看Docker帮助文档
docker --help

查看Docker版本信息
docker version

Docker镜像常用命令

1,docker images 列出本机所有镜像
docker images
列出本机所有镜像
在这里插入图片描述
2,docker search 搜索镜像

和 https://hub.docker.com/ 这里的搜索效果一样;
OPTIONS可选参数:
–no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
–automated 只列出Docker Hub自动构建类型的镜像

3,docker pull 下载镜像
在这里插入图片描述
4,docker rmi 删除镜像

1,删除单个:docker rmi 镜像名称:[TAG]
如果不写TAG,默认删除最新版本latest
有镜像生成的容器再运行时候,会报错,删除失败;
在这里插入图片描述
我们需要加 -f 强制删除
2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开

3,删除全部:docker rmi -f $(docker images -qa)
这里就不演示了

Docker 容器常用命令

1、Docker创建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

–name=“容器新名字”:为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

启动普通容器: docker run --name 别名 镜像ID
启动交互式容器: docker run -it --name 别名 镜像ID 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端,并且进入伪终端;
实例:
docker run -it --name mycentos02 5e35e350aded
在这里插入图片描述

注意:
1、启动普通容器的方式基本不用,没有伪终端,没有太大价值;
2、启动交互式容器的方式,容器一创建完毕,立即进入伪终端

2、Docker列出容器
docker ps [OPTIONS]

OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。

docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -n 2 显示最近创建的2个容器
docker ps -f status=exited 查看停止的容器

3、Docker退出容器

exit 容器停止退出
ctrl+P+Q 容器不停止退出

4、Docker进入容器

a、docker attach 容器ID or 容器名

实例:
docker attach ce6343ee288f
不能进入停止的状态的容器
You cannot attach to a stopped container, start it first

b、Docker进入容器执行命令
docker exec -it 容器名称 或者 容器ID 执行命令
实例:
docker exec -it tomcat02 ls -l /root/webapp02

直接操作容器,执行完 回到 宿主主机终端;

我们一般用于 启动容器里的应用 比如 tomcat nginx redis elasticsearch等等

5、Docker启动容器

docker start 容器ID or 容器名

实例:
docker start mycentos00
在这里插入图片描述

6、Docker重启容器

docker restart 容器ID or 容器名

实例:
docker restart f9cadea1a5e7

7、Docker停止容器
docker stop 容器ID or 容器名

实例:
docker stop 865b755cd0b2

暴力删除,直接杀掉进程 (不推荐)
docker kill 容器ID or 容器名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值