通过brew安装docker以及docker的使⽤
docker的介绍,⾥⾯包括了3个基本概念
1.1 docker主要由镜像和容器构成
镜像(Image):docker镜像好⽐⼀个模板,相当于⼀个⽂件系统
容器(Container):容器需要通过镜像来创建。镜像和容器就像是⾯向对象中的类和实例⼀样。容器可以被创建/启动/停⽌/删除等
仓库(Repository):仓库就是存放镜像的地⽅,分为私有仓库和公有仓库。类似git
1.2 docker的运⾏原理
docker是⼀个Client-Server结构的系统,docker的守护进程运⾏在主机上,通过socket从客户端访问。dockerServer接收到docker-Client的指令,就会执⾏这个命令。
⼀. docker的安装
1.1 homebrew的cask应⽀持Docker for Mac,所以可以直接安装  brew cask install docker
⼆. docker的使⽤
1.1 查看版本
docker --version
docker-compose --version
docker-machine --version
1.2 查看docker系统信息(包括镜像和容器的数量等)
docker info
1.3 帮助命令
docker help
1.4 查看 cpu的状况
docker stats
三. docker的基本命令
镜像相关命令:
1.1 查看镜像可⽤版本(nginx为例)
docker search nginx
1.2 下载⼀个镜像
docker pull nginx:latest(:后⾯跟镜像版本)
1.3 运⾏⼀个nginx服务器
docker run -d -p 81:80 --name webserver nginx
可选项:
--name webserver :容器名称,⽤来区分容器
-p 81:80 :端⼝进⾏映射,将本地的81端⼝映射到容器内部的80端⼝
-
v ~/nginx/html:/usr/share/nginx/html 数据卷挂载ro/rw,将主机项⽬中的⽬录挂载到容器的⽬录下,默认rw只能在宿主机外改变,容器内部不能改变
-d:设置容器中在后台⼀直运⾏
-it:使⽤交互⽅式运⾏,进⼊容器查看内容
-P:随机端⼝
-e:环境配置设置
注意:后台启动运⾏,必须要有⼀个前台进程,docker发现没有应⽤,就会⾃动停⽌
重点:数据卷挂载分为具名/匿名/指定路径挂载,容器数据卷挂载可以实现数据共享,容器的持久化和同步操作,可以使⽤docker volume 查看卷的情况,可以使⽤volumes-from实现多个容器之间的数据共享。
1.4 停⽌nginx服务
docker stop webserver(容器ID)
docker进入容器
1.5 删除nginx服务
docker rm webserver
1.6 启动/重启nginx服务
docker start/restart webserver
1.7 列出所有镜像(列表包含了仓库名、标签、镜像 ID、创建时间以及所占⽤的空间)
docker images ls
说明:
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的⼤⼩
可选项:
-a:列出所有的镜像
-q:只显⽰镜像的id
注意:镜像ID是唯⼀标识,⼀个镜像可以对应多个标签
1.8 查看镜像、容器、数据卷所占⽤的空间
docker system df
1.9 删除镜像
指定镜像:docker rmi [镜像名称/镜像短ID/镜像长ID/镜像摘要]
多个镜像:docker rmi 镜像ID 镜像ID 镜像ID
全部镜像:docker rmi $(docker images -aq)
2.0 删除docker images ls 命令配合删除所有仓库名为redis的镜像
docker  rmi $(docker images ls -q redis)
2.1 查看镜像运⾏记录
docker history 镜像id
容器相关命令
1.1 列出容器
docker ps
可选项:
-a:显⽰所有的容器,包括未运⾏的
-l:显⽰最近创建的容器
-n:列出最近创建的n个容器
-
q:只显⽰容器的编号
1.2 进⼊容器
docker exec -it [容器名称] /bin/bash
docker atthch 容器id
区别:docker exec 进⼊容器后开启⼀个新的终端,可以在⾥⾯操作;docker attach 进⼊容器正在执⾏的终端,不会启动新的进程1.3 退出容器
容器停⽌退回主机 exit
容器不停⽌推出 ctrl+p+q
1.4 删除容器
指定容器:docker rm [容器id]
多个容器:docker rm 容器id 容器id 容器id
所有容器:docker rm $(docker ps -aq)    docker ps -a -q|xargs docker rm
注意:不能删除正在运⾏的容器,要删除正在运⾏的容器需要加 -f 参数,docker rm -f 容器id
1.5 启动/重启容器
docker start/restart 容器id
1.6 停⽌/强制停⽌容器
docker stop/kill 容器id
1.7 查看容器⽇志
docker logs -f -t --tail 100 容器id
--tail后⾯必须加参数条数
1.8 查看容器中的进程信息
docker top 容器id
1.9 查看容器的元数据(重要命令)
docker inspect 容器id
2.0 从容器上拷贝数据到主机上
docker cp 容器id:容器内路径主机路径
四. Dockerfile的指令
FROM 基础镜像,⼀切从这⾥开始
MAINTAINER 镜像的作者姓名<;邮箱>
RUN 镜像构建需要运⾏的命令
ADD 步骤,添加内容
WORKDIR 镜像的⼯作⽬录
VOLUME 挂载的⽬录
EXPOST 端⼝配置
CMD 指定容器启动要运⾏的命令,只有最后⼀个会⽣效,可被替代ENTRYPOINT 指定这个容器启动要运⾏的命令,可以追加命令ONBUILD 当构建⼀个被继承的Dockerfile时会运⾏
COPY 类似ADD将我们⽂件拷贝到镜像中
E NV 构建的时候设置环境变量
以上就是本次的全部内容!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。