美文网首页
初次使用docker

初次使用docker

作者: 灬劣徒 | 来源:发表于2019-11-19 15:18 被阅读0次
2cf5e0fe9925bc31137974de55df8db1cb13704b.jpg
  • 图中给出的信息
    1.海:宿主机
    2.集装箱:docker容器
    3.鲸鱼+集装箱:docker技术

docker下载地址

什么是docker

docker是一个开源的应用容器引擎,基于GO语言并遵从Apache2.0协议开源。
docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任意流行的Linux机器上,也可以实现虚拟化。

安装步骤

1.卸载virtualbox,顺便把之前的vagrant也卸载掉
由于docker是运行在linux系统上的,所以要想在windows上运行docker需要借助虚拟机。老的docker Toolbox使用Oracle VM VirtualBox 来运行一个简化的linux环境,而目前的docker CE for windows使用的是Hyper-v(从win8开始)虚拟机组件

2.将电脑升级到window10企业版或者专业版

3.启用Hyper-v虚拟机组件
控制面板 -> 程序 -> 开启\关闭功能 ->Hyper-v,全部选中,重启电脑

4.执行docker安装程序
在cmd.exe中运行命令docker -v查看docker是否安装成功。
注:如安装完成启动后无法使用docker命令,很大原因是本地的Hyper-v未启动,Hyper-v需要足够的内存来进行启动,手动调整内存大小。(反正洒家是没遇到过)

搭建本机环境

1.docker pull nginx:1.10
镜像名称的获取方式

2.新建nginx文件夹、php文件夹,这里我们有一个自己配置的dockerfile文件。进入这个文件夹,运行docker build -t [大版本号/REPOSITORY] : [小版本号/IMAGE] .(注意最后有个点,代表使用当前路径的dockerfile文件构建,里面就是需要安装的一些的扩展)来生成一个自己的镜像
注:有时候命令大版本号和小版本号会失败,都是none,可以docker tag [image ID] [name]:[版本]

3.生成nginx容器和php容器
①docker run -idt -p 9000:9000 -v /D/MyWeb:/var/www/html --name ps_php(容器名称) php:5.6(根据哪个
镜像生成的,相当于js类)

image.png

②docker run -d -p 80:80 -v /D/MyWeb:/var/www/html -v /D/nginx:/etc/nginx/conf.d --link ps_php(关联php的容器):php(这里一定要是php,否则会出错) --name ps_nginx nginx:1.10


image.png

4.在nginx中配置项目文件,在HOST文件中配置域名

5.重启nginx容器

docker 常用命令

  • docker pull nginx:1.11 #安装镜像 1.1为想安装nginx的版本,如果不加则为最新的版本。如下图会提示使用最后一个tag
  • docker images 查看镜像列表
  • docker ps -a 查看启动的容器
  • docker rm [容器ID] 删除容器
  • docker rmi [镜像ID] 删除镜像
  • docker start [容器ID] 启动容器
  • docker stop [容器ID] 停止容器(删除容器之前要先停止)
  • docker restart [容器ID] 重启容器
  • docker inspect [容器ID] 查看容器详细信息
  • docker logs [容器ID] 查看容器日志

镜像、容器、仓库

var  p1 = new Person();

即:p1是容器、Person是镜像。至于仓库嘛 就相当于github的代码仓库,github是存代码的仓库,相应的docker仓库就是存放镜像的。

image.png

上图分了三个块:

  • client(客户端、命令终端)
  • DOCKER_HOST (docer daemon)
  • Resistry (镜像仓库)
    从左往右看,Client中执行了几个命令,这些命令都于docker daemon(docker的守护进程)有交互,然后docker daemon会根据相应命令做对应的动作。
    1.docker build:表示创建了一个镜像,这是一条虚线,虚线从开始到结束指向了中间的images框里。
    2.docker pull: 表示从仓库中拉取image,就像githup里pull代码一样。docker daemon接受到pull指令,从Registry(远程镜像仓库)里找带对应镜像(这里是nginx)然后拉到本地的images中。
    3.docker run :向daemon发出运行指令,daemon收到指令后去本地的images中找对应镜像。如果能找到就会使用该镜像生成一个容器,如果没找到则会默认执行docker pull从仓库里下载,然后再生成容器,如果容器中运行着我们的代码,那么当容器运行后代码也跟着run起来了

注:

  • 有时重启nginx容器,报错:Cannot link to a non running container;解决方法是先重启PHP,然后才能重启nginx
  • 给容器中的host文件添加多个域名


    image.png

相关文章

网友评论

      本文标题:初次使用docker

      本文链接:https://www.haomeiwen.com/subject/kjlwictx.html