认识docker

概述

docker是个开源的应用容器引擎。可让开发者快速打包应用到一个容器中,实现快速移植,可发布到任何一个linux机器上,可以实现虚拟化。

容器是沙箱机制,互相独立,性能开销低。

docker分为EE(社区版)、CE(企业版)

架构

三个基本概念:

  • 镜像(image):相当于一个root文件系统
  • 容器(container):镜像与容器相当于类与实例的关系,容器是镜像运行的实例,可以被创建(create)、启动(start)、停止(kill)、删除(delete)、暂停(stop)
  • 仓库(repository):保存镜像

其他概念

  • Registry:分公有(DockerHub)和私有(private),包含多个repositories,每个reponsitory包含多个tags(标签),每个tag对应一个image
  • Hosst(主机):一个物理或虚拟主机用于执行docker守护进程和容器

docker安装

!!!64位系统
第一次装遇到一个坑,其实是自己坑自己,因为官方文档或者任何一篇博客都写得很清楚要64位系统支持。

装docker时一直遇到镜像报错问题,一直以为是墙的原因,换了好久的国内源都不成功,后来灵光乍现,去查了查云主机的系统版本,发现是32位的centos6.9,不说了,都是泪。

系统centos7 64位

# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源,换了阿里云的源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装
yum install docker-ce
# 启动docker服务
systemctl start docker

docker镜像加速

国内从DockerHub拉取镜像过慢可配置镜像加速器
各厂商镜像加速器:

网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
腾讯云:https://mirror.ccs.tencentyun.com

ubuntu

vim /etc/default/docker
DOCKER_OPTS="--registry-mirror=https://mirror.ccs.tencentyun.com"

centos

vim /etc/docker/daemon.json
{
"registry-mirrors": [
  "https://mirror.ccs.tencentyun.com"
]
}

检查加速器是否生效

$ docker info
Registry Mirrors:
    https://reg-mirror.qiniu.com

docker使用

docker常用命令

# 启动docker服务
systemctl start docker

# 关闭docker服务
systemctl stop docker

# 重启docker服务
systemctl restart docker

# 获取镜像
docker search ubuntu //查找镜像见下方
docker pull ubuntu

# 创建/运行容器
//如果镜像在本地中不存在,docker就会自动从docker镜像仓库中下载
docker run --name 容器名
-d nginx:latest       //使用镜像nginx:latest后台运行容器
-p 8080:80            //将容器的 80 端口映射到主机的 8080 端口
--link 容器名         //连接另一个容器,比如mysql数据库
-e                         //设置环境变量,mysql通过设置环境变量设置初始密码

# 进入容器
docker exec -it ubuntu /bin/bash
//-i 交互式操作
//-t 终端
// /bin/bash 获取交互式shell
// exit 退出

# 启动/重启容器
docker start 容器ID或容器名
docker restart 容器ID或容器名

# 查看当前运行容器
docker ps

# 查看当前所有容器
docker ps -a

# 停止容器
docker stop 容器ID或容器名

# 关闭容器
docker kill 容器ID或容器名
# stop和kill的主要区别:stop给与一定的关闭时间交由容器自己保存状态,kill直接关闭容器

# 删除容器
docker rm 

# 导出容器快照
docker export 容器id > 容器.tar

# 导入容器快照
docker import 镜像路径/本地快照 docker镜像名
docker import bayonet.tar bayonet:v1

docker 容器内的文件与本地互传

# 复制容器内的文件到本地
docker cp -a 容器id:/etc/ngnix /home
# 复制本地文件到容器内
docker cp -a  /home/test.txt 容器id:/home/test

清理docker

# 清除所有处于终止状态的容器
docker container prune

查找镜像

Docker Hub搜索,可查看镜像具体tag,网址为:https://hub.docker.com/

docker compose

可以使用配置文件YML的方式来创建docker,Vulhub就使用了这种方式

windows和mac环境都无需安装,linux需要单独安装

centos安装docker compose

# 需先安装python、pip
yum install python-pip
yum install epel-release -y
yum install python -y

# 安装 docker-compose
pip install docker-compose

# 测试是否安装成功
docker-compose --version

参考教程–菜鸟教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值