007/Docker(一)

网友投稿 672 2022-11-18

007/Docker(一)

007/Docker(一)

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

一。Mooc--Docker基础

1。Docker架构如下所示:

2。Docker常用命令

1.查看有哪些镜像$ docker images2.运行docker$ docker run ubuntu echo hello docker //ubuntu为images的名字//上述做的事情,用ubuntu这个image,在这里面运行了echo hello docker这一命令.上述输出为hello docker

3.运行nginx服务器$ docker run nginx //运行nginx这个image//说明:docker在运行容器之前先看本地是否有所需要容器运行的image,如果没有则从远端registry-

4。查看本地有哪些image$ docker images

5.执行命令$ docker run -p 8080:80 -d daocloud.io/nginx //返回docker的container的ID//说明:p是做端口映射,将nginx的80端口映射到本地8080端口; -d是允许这个程序直接返回,即把这个container做为守护进程来执行

6.查看所有当前正在运行的docker的container$ docker ps//说明:可查看运行的docker的container以及端口之间的映射关系

说明在本地8080端口开启了一个nginx服务,地址栏访问验证:localhost:8080

上述以在本地开启了一个nginx服务,希望这个页面呈现docker相关信息。实现步骤:

【1】。创建一个index.html文件,并加入内容

【2】。ubuntu安装nginx

7。安装nginx$ sudo apt-get install nginx//nginx目录位置:/usr/share/nginx

8.启动nginx/etc/init.d/nginx start

【3】。将index.html文件拷备到容器中

//9.拷备index.html文件到容器中docker cp index.html 容器ID://usr/share/nginx/html//容器ID查询方式:正在运行的容器docker ps

10.停止docker$ docker stop 容器ID//容器ID通过docker ps查询

浏览器访问:localhost:8080

11.查看正在运行的容器$ docker ps12.查看所有容器$ docker ps -a

//12.停止某个运行的的容器$ docker ps$ docker stop 容器ID//13。移除某个容器$ docker ps -a$ docker rm 容器ID1 容器ID2

第3章:Dockerfile介绍

【1】。通过编写简单的文件自创docker镜像

上节应用docker commit创建了一个新的image

1.查看运行的容器$ docker ps2.创建一个新的镜像image$ docker commit -m 'fun' 容器ID 镜像名字

第一个dockerfile

上述成功用dockerfile形式构建了自己的image.可以image中运行容器执行命令行。

【3】运行命令:

run apt-get upate //更新ubuntu的库

run apt-get install -y nginx //安装nginx,-y不要询问

COPY //复制文件

ENTRYPOINT //入口,目的将nginx在前台执行而不是做为守护进程执行.[ , ,] 会给拆分成一条命令

EXPOSE //暴露端口

1.创建一个目录$ mkdir dockerfile22.创建文件(注意:该Dockerfile文件名不能为其他,只能为Dockerfile)$ touch Dockerfile$ vi Dockerfile

3。创建index.html$ touch index.html//编辑文件vi index.html//向其中添加内容today is very good

4.构建镜像$ docker build -t xbf/hello-nginx .//构建完成5.运行镜像 $ docker run -d -p 8089:80 xbf/hello-nginx //将80端口映射到本地8089

Dockerfile语法

镜像是分层被存储

下述为一个已经存在的image镜像,下述三层为只读的。当image被运行为容器,则会产生新的一层,最上层为容器层,可读可写。

为什么要分层:存储可以共享,存储压力小。

Volumn:提供独立于容器之外的持久化存储

可提供容器与容器之间共享的数据

第4章:存储

1。运行一个nginx容器,通过-v挂载一个卷

2。本地一个目录,挂载到容器数据卷中

第5章:镜像仓库

术语:

【1】host:宿主机(正在使用的这台电脑)

【2】镜像:可多远端拉取的或本地程序构建的一些可重复使用的软件打包

【3】容器:是镜像运行的实际

【4】仓库:很多镜像注册的仓库

【5】守护程序:docker守护进程用来和registry共享,用来接受用户的命令

【6】客户端:用来给守护程序输送命令以及进行操作

国内一些仓库:daocloud /时速云 /aliyun

第6章:多容器app

上述讲述的均为单容器app应用,本意为利用docker-compose工具拉起一个多容器app应用

1.docker-compose

compose为独立软件,所以需要单独安装。

nginx:接入层 /ghost app:业务层 / mysql:数据层

docker-compose命令

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Go语言从入门到规范-6.6、Go语言rpc包
下一篇:JetBrains 发布下一代 IDE无比轻量几秒就能启动干活
相关文章

 发表评论

暂时没有评论,来抢沙发吧~