docker了解与安装一篇就够

Docker的概念:

Docker 是一个开源的应用容器引擎,基于Ga语言 并遵从Apace2.0协议开源Docker 可以让开发者打包他们的应用以及依赖包到轻量级、可移植的容器中流行的 Linux 机器上,也可以实现虚拟化。
然后发布到任何容器是完全使用沙箱机制,相互之间不会有任何接口(类似IPhone 的 app),更重要的是容器性能开销极低。

Docker应用场景:

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker的优点:

1、简化程序:

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker 中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的 处理下,只需要数秒就能完成。

2、避免选择恐惧症:

如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!比如 Docker 镜像;Docker 镜像中 包含了运行环境和配置,所以 Docker可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数 据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

3、节省开支:

一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高 价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也 改变了虚拟化的方式。

Docker的安装:

ubuntu的安装

1.更新软件源

2.执行安装

3.查看安装状态

安装成功就启动了

4.跑一个入门镜像

5.查看安装的镜像

centos的安装:

1. 更新yum源

让yum源最新

2.执行安装

安装完成之后查看一下:

3.启动docker

启动之后查看状态:

4.跑一个入门镜像

5.查看安装的镜像

Docker在centos7上安装完毕,还有很多方式可以安装docker,比如通过gostcloud安装,还有官方脚本安 装,等待,自行去拓展。

Docker的使用:

1. 运行hello-world

Hello-world是官方推荐的学习入门镜像,功能很简单,运行之后会打印出一句话. 这个镜像我们已经运行过,但是里面有很多我们不清楚的地方,那么现在来解。

由上面的截图我们可以看到执行之后又对应的输出.这条命令包含了三个部分:

  • Docker : docker的客户端程序
  • Run: 子命令,用于运行容器
  • Hello-world : 镜像的名字

这条命令首先回去本地查找是否有hello-world这个镜像,如果没有则会从dockerhub(docker主仓库)去拉 取,之后会启动一个容器,会把镜像装载到容器中运行.

所有的docker命令格式都是如下格式:

现在来查看本地的镜像:

通过docker images 可以看到本地到底有哪些镜像.这里我们看到有一个hello-world镜像.

对应参数的解释:

Repository : 镜像的名字

Tag: 镜像版本,类似git的tag,如果run的时候不带版本,那么就会拉取最新的latest.

Image id : 这个是镜像的截取后的唯一id

Created: 这个镜像是在什么时候创建的,指的是仓库里面的创建时间.

Size: 镜像的大小.

2. 容器和镜像

容器和镜像是docker最核心的部分.使用docker实际上就是在容器里面运行一个镜像.

容器的概念

很多人认为docker容器就是轻量级的虚拟机,实际上docker容器和虚拟机区别很大,从根本上来说,容器就 是运行在操作系统上的一个进程.只不过加入了对资源的隔离和限制.

镜像的概念

容器是一个动态的概念,那么镜像是一个相对静止的概念,简单来说:镜像就是容器中的文件系统.

容器和镜像的关系

容器和镜像是密切相关的,二者缺一不可,也是可以相互转换的:

Docker的镜像最初是从官方拉取的,通过docker run 即可启动一个容器运行,当容器需要转化为镜像时,可 以通过docker commit进行转化。

3. docker的入门操作

入门操作涉及到的命令:

  • docker info
  • docker search
  • docker pull
  • docker ps
  • docker start/stop

查看容器基本信息**:docker** info

Docker info 是经常用来查看运行状态及版本信息的命令,是整个docker daemon守护进程运行状况的缩 影,包括容器个数,镜像个数,daemon版本,使用的存储驱动等信息。

查找镜像:docker search

如果要拉取某个镜像,可以先对镜像进行查询.

下载镜像:docker pull

我们来下载一个Ubuntu(官方推荐的基础镜像)

查看一下:

如果本地有,就不会再去仓库里面下载:

如果镜像下载很慢,可以配置一个官方的中国加速镜像, 修改 /etc/docker/daemon.json(如果文件不存 在请新建该文件)

加上:

重启docker服务即可生效.

运行含shell终端的容器

Ubuntu大家都知道是一个系统,我们来通过交互的方式运行一下。

这样就一键拥有了一个ubuntu系统,是不是很惊讶!这就是容器的魅力.

相关参数的解释:

-i : 交互模式

-t : 表示使用pseudo-TTY,关联到容器的stdin和stdout

ubuntu: 表示要运行的镜像

/bin/bash : 表示启动时要运行的命令(这里就是shell命令)

退出交互容器运行直接使用:exit

如果想让容器后台运行可以直接加-d参数就可以了.这个后台运行不是说让容器一直运行**,而是:** 不占 用当前终端**.**

下面一串字母就是容器的id,这样后台运行的ubuntu 运行完就停止了, 如果想要一直后台运行就需要加一 句代码:

docker run -d ubuntu /bin/bash -c "while true; do echo hello docker; sleep 1;
done"

这时进入后台正在运行的容器的命令:

docker exec -it 容器ID /bin/bash

注意:

Docker 每次run都会创建一个新的容器

运行一个Apache容器

先搜索:

拉取:

启动:

浏览器直接访问:

复制文件:docker copy

容器的空间相对隔离,改变容器中的文件就变得不是那么容易。使用docker cp命令

可以复制宿主机文件到容器内部。

命令:

复制宿主机文件到容器 : docker cp 宿主机目录及文件 容器名称:容器目录 。

准备一个文件: my.html

进行复制

先要看容器里面的根目录:

docker cp my.html gxa-apache:/usr/local/apache2/htdocs/my.html

挂在虚拟目录

主要是在run的时候进行挂载

apche的根目录: /usr/local/apache2/htdocs

挂载的参数: -v 宿主机的目录:容器的目录

docker run -d -p 8089:80 -v /s337:/usr/local/apache2/htdocs --name s337-httpd
httpd

查看所有容器: docker ps

图中可以看到运行的容器

如果要列举出所有的容器就需要加一个参数 -a:

停止运行中的容器:docker stop 容器ID/名字

Docker停止运行中的全部容器的命令:

docker stop $(docker ps -q)

重新启动容器:docker start/restart 容器ID/容器名字

Start:

删除容器: docker rm 容器ID/容器名字

一键删除所有容器:docker rm $(docker ps -aq)

删除镜像:docker rmi 镜像ID或镜像名称

如删除hello-world

总结:

现在来总结一下docker的基本使用命令:

Docker search: 搜索镜像

Docker pull : 拉取镜像

Docker run : 运行容器

Docker images : 列出所有镜像

Docker ps : 查看容器

Docker stop/start/restart/kill 容器的启停

Docker rm: 删除容器

Docker rmi : 删除镜像 Docker logs: 查看容器的日志

Docker搭建lamp

查询镜像lamp

拉取

创建并启动容器

配合docker hub说明启动:

https://registry.hub.docker.com/r/mattrayner/lamp

docker run -d --name lamp -p "8080:80" -v /var/app:/app mattrayner/lamp:latest

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值