docker

一.什么是docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

二.docker思想

    1.集装箱(程序打包,不容易丢失)
    2.标准化:

        运输方式,程序运输到超级码头,应用方从超级码头获取代码

        存储方式,不需要关心应用存在什么地方

        api接口,运行启动等命令相同

    3.隔离(类似虚拟机)

以上思想解决了什么问题:

docker解决了运行环境不一致带来的问题

每一个程序分配固定cpu,磁盘,内存等(隔离)

docker标准化让快速扩展,弹性伸缩变得简单(例如双11扩展机器,只需要从超级码头获取代码,标准化运行即可)

三.docker核心技术

    1.镜像(集装箱)

    2.仓库(超级码头)

    3.容器(运行程序的地方)

四.docker安装

https://store.docker.com/editions/community/docker-ce-desktop-mac

双击dmg文件,安装完毕运行,可以看到一个鲸鱼图标

打开终端输入 docker version

安装完毕,docker可以在windows,macos以及linux上安装

五.实践

    1.获取docker镜像

        命令:docker images–查看本机docker镜像

                   docker pull --从docker仓库获取镜像,例如docker pull hello-world(不加地址的时候,hellow-world是docker仓库拉取的,也就是hub.docker.com拉取的)

    2.运行镜像

        命令:docker run

    3.运行docker nginx

        从网易蜂巢下载,hub.docker.com比较慢

        蜂巢地址:https://c.163yun.com/hub#/m/home/

        找到地址:docker pull hub.c.163.com/library/nginx:latest 通过终端下载nginx,运行完毕docker images查看本机镜像

        可以通过 docker run hub.c.163.com/library/nginx 运行nginx,docker ps 查看

    这种前台的运行方式不适合nginx 通过ctrl+c退出,或者docker stop ac90d1e52575来停止运行

    nginx应通过后台运行,通过docker run --help查看运行参数

    docker run -d hub.c.163.com/library/nginx

    运行完毕后,可以通过docker exec 进入容器 docker exec -it 084e

4.docker网络

网络类型:bridge,host,none 默认使用网桥模式(需要端口映射)

使用网桥,运行nginx

docker run -d -p 8080:80 hub.c.163.com/library/nginx

5.制作镜像

两个命令 dockerfile和docker build

dockerfile 告诉docker要怎样制作,需要什么步骤,docker build按照dockerfile的步骤来执行

首先创建dockerfile文件

from hub.c.163.com/library/tomcat

MAINTAINER michelle xxx.163.com

COPY jpress-web-newest.war /usr/local/tomcat/webapps

之后进行build

docker build -t jpress:latest .

可以看到以下输出


通过docker images可以看到自己创建的镜像

接下来运行镜像

docker run -d -p 8888:8080 jpress

通过路径访问

http://localhost:8888/jpress-web-newest

拓展:创建mysql 

在网易蜂巢找到mysql镜像 进行下载

docker pull hub.c.163.com/library/mysql:latest

运行mysql

docker run -d -p 3307:3307 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest

六.总结

集装箱,标准化,隔离

镜像,容器,仓库(build,ship,run)

docker命令:pull,build,run,stop,restart,exec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值