docker
2023-05-16 16:39:45 举报
登录查看完整内容
相似推荐
查看更多
Docker详解
Docker
Docker / k8s
docker学习
docker
Docker
基于Docker+Nginx+keepalived+Flask+MySQL的高可用Web集群
Docker
Docker
Docker学习笔记
daocker的简单构成和指令
作者其他创作
大纲/内容
每个保留关键字(指令)都是大写字母
从上到下顺序执行
#表示注释
每个指令都会创建一个新的镜像层并提交
基础知识
指定基础的镜像
FROM
指定维护者信息(谁写的一般都是姓名+邮箱)
MAINTAINER
镜像构建时需要运行的命令、
RUN
向镜像中添加内容
ADD
镜像的额工作目录
WORKDIR
挂载的目录
VOLUME
保留端口配置
EXPOSE
指定这个容器启动时要运行的命令,只有最后一个会生效,可被替代
CMD
指定这个容器启动时要运行的命令 ,可以追加命令
ENTRYPOINT
指令
Docker File
docker network
查看所有的docker网络
自定义网络
bridge桥接模式(docker)默认的,自己创建时也使用这种模式
子主题
网络模式
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
docker network inspect mynet
查看自己创建的网络
和创建的网络相关联
自己创建的网络时比较完善的,回修复docker之间不能直接ping名字得到问题
优点
创建自己的网络
docker network connect [OPTIONS] 网关名 容器名
连通过后就是把容器的信息加到网关中
将容器连接到不同网关的
docker网络
docker镜像好比是一个模板,可以通过模板来创建容器惹任务一个镜像可以创建多个容器(最终服务或者项目就是运行在容器中的)
镜像(image)
docker利用容器来运行一个或者一组应用,通过镜像来创建启动、停止、删除,基本命令
目前就可以把容器理解为一个简单的Linux系统
容器(container)
用来存储镜像的地方
仓库(repository)
名词概念
/var/lib/docker
工作路径
查看下载下来的镜像
docker images
运行镜像
docker run
docker rmi -f id 删除这个id的镜像
删除所有的镜像
docker rmi -f $(docker rmi -aq)
删除镜像
docker rmi
如果不设置版本的话默认下载最新版本的
docker pull 镜像名称 [:tag]
下载镜像
docker pull
docker的系统信息包括镜像和容器的数量
docker info
搜索超过更新超过三千的
docker search MySQL --filter=starts=3000
搜索镜像
docker search
docker commit -a=\"zhangsan\" -m=\"add webapps\" f73eca984eea tomcat:01
提交镜像
docker commit
docker build -f dockerfile文件 -t 镜像名称:镜像版本 .
构建镜像
docker build
查看镜像的历史提交记录
docker history +镜像id
推送docker
docker push
镜像命令
docker run [可选参数] image
docker run -it mysql /bin/bash
docker run -it 交互模式进去
新建容器并启动
启动容器
docker start +容器的id
重启容器
docker restart +容器id
停止正在运行容器
docker stop
强制消除容器
docker kill
启动和停止容器的操作
直接关闭容器并且退出
exit
不关闭容器进行退出
CTRL +P +Q
从容器中退到主机
列出运行着的容器
-a 列出历世运行过的容器
- n=n 显示n条数据
-q 只显示出容器的编号
docker ps
删除某个特定容器,不能删除正在运行的容器,如果需要强制删除就需要 rm-f
+容器id
可以进行参数传递进行删除
-f $()
docker rm
删除容器
容器命令
docker后台启动名称时,在启动需要有一个前台应用运行
后台启动名称
docker run -d 容器名称
docker logs -f -t --tail 容器id
查看日志
docker top 容器id
查看容器中的进程信息
docker inspect 容器id
查看docker的元数据
容器开启一个新的终端,可以在里面进行操作
docker exec -it 96fa069e7acb /bin/bash
进入容器正在执行的终端,不会重新起进程
docker attach 容器id
进入当前正在运行的容器
docker
将外部的文件,复制到docker内部中
docker run -d --name nginx -p 3344:80 nginx
部署
其他常用命令
命令
docker是一个Client-Sever结构,docker的守护进程运行在主机上,通过socket进行访问
docker Service在接受到Client发出的命令后就会执行该命令
docker是如何进行工作的
docker没有vm那么多的抽象层
docker用的是hostOS(宿主机的操作系统),VM用的是GuestOS(虚拟机中的操作系统)
docker为什么比vm要快
解决的问题,需要修改容器中的文件时,只需要在外部进行修改即可
容器的持久化和同步操作
-v 后面:+容器内的路径
匿名挂载
-v 后面+名字+:+容器内的路径
具名挂载
-v 后面+容器外路径:容器内路径
指定路径挂载
挂载的定义
home后可以加:ro 或者 :rw设置权限
/home/ceshi:/home 挂载关系
docker run -it -v /home/ceshi:/home centos /bin/bash
可以通过查看容器信息(docker inspection 容器id) 查看其中的Mounts来进行查看
挂载的操作
挂载
容器数据卷
docker
0 条评论
回复 删除
下一页