3分钟读懂docker使用

什么是docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker有什么用

我们在一台linux通常需要搭建mysql,jdk,redis等等这些基础设施来运行我们开发的程序,这时业务扩张了,我们又租了三台linux服务器,然后这些基础设施又要重新搭建一遍,看到这,我们的血压是不是已经上升了(╬▔皿▔)。但是有了Docker,我们只用在搭建完第一台服务器后,制作个镜像,后续的服务器导入之后直接就能跑起来,是不是瞬间舒畅了。ヾ(≧O≦)〃嗷~

Docker vs 传统虚拟机技术

Docker作为一项容器引擎技术面世后,可以秒级启动,吊打市面上的虚拟机技术。让开发/测试/部署一条龙服务,变得无比湿滑。

特性容器虚拟机
启动秒级分钟级
硬盘使用一般为 MB一般为 GB
性能接近原生弱于
系统支持量单机支持上千个容器一般几十个

Docker基本概念

镜像:一个只读的模板,可以用来创建容器。可以使用以下命令,来操作镜像

#查看本地已安装镜像
docker images

#安装一个版本未10.3的mariadb数据库
docker pull mariadb:10.3

#删除镜像,b539af69bc01是镜像id,由docker images执行后获取
docker rmi b539af69bc01

#镜像导出,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
docker save > nginx.tar nginx:latest
#容器导出,nginx-test.tar为目标文件,nginx-test是源容器名(name),导出时用-o或者>都可以
docker export -o nginx-test.tar nginx-test

#导入容器
docker import nginx-test.tar nginx:latest
#导入镜像
docker load -i nginx.tar
或
docker load < nginx.tar

镜像仓库

用来存放镜像仓库的场所,制作完镜像后,可以推送到公共仓库(目前最大公共仓库是DockerHub),也可以利用本地网络搭建一个私人仓库,然后把自己制作的仓库往私人仓库推送,下次直接从仓库拉取加载。

容器

由镜像模板创建的运行实例,可以被启动停止删除,docker单机就可以部署上千个容器,容器之间相互独立。

#显示运行中的容器
docker ps

#显示所有容器
docker ps -a

#创建一个新的容器并运行一个命令,\符号用来linux换行, --name指定容器名,-p将容器端口与服务器真实端口做映射,-d后台运行
#其他参数执行 docker run --help查看
docker run \
   --name zookeeper  \
   -d \
   -p 2181:2181 \
   zookeeper

# 开启容器xxx为容器id
docker start xxxx
#关闭容器
docker stop xxxx
#重启容器
docker restart xxxx
#删除容器
docker rm -f xxxx
#进入容器内部,比如你用docker安装了redis,需要修改配置文件,执行这个命令,然后进入容器内部修改
docker exec -it xxxx bash

Dockerfile文件

dockerfile是一个文本配置文件,用户可以用dockerfile的规范撰写dockerfile文件,然后cmd命令,使用docker build来执行它,生成镜像文件。Dockerfile指令集:

Dockerfile指令集
FROM 第一条指令必须为FROM指令,用于指定基础镜像。
MAINTAINER
指定维护者信息。
RUN
会在shell终端运行命令。
EXPOSE
格式为 EXPOSE [ ...],声明容器需要暴露的端口号。
-----------镜像启动可以通过 –P 或 -p 进行端口映射的绑定。
ENV
指定一个环境变量,可以被后续的RUN引用,并且在容器中记录该环境变量。
ADD
该命令将复制指定的到容器中的。
-------其中可以是Dockerfile所在目录的一个相对路径;也可以是tar文件(自动解压)。
VOLUME
格式为 VOLUME [path]。
--------创建一个可以从本地主机或其他容器挂载点,一般用来存放需要保持的数据。
USER
指定运行容器时的用户名,后续的RUN也会指定该用户。
WORKDIR
指定工作空间,后续命令都在此目录下执行。
CMD
ENTRYPOINT

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值