Docker 入门
来源:互联网 发布:java nio和io的区别 编辑:程序博客网 时间:2024/06/11 08:36
Docker 入门
什么是docker
简单的说它可以帮助用户将应用和所有的依赖打包成一个标准单元,但又不像虚拟机有很大的overhead,所以更加的高效
什么是container
虚拟机提供了很好的分离机制,host OS中的程序与guest OS中的程序不易相互影响。但硬件虚拟化的代价是很大的
但container不同,它就用host OS的硬件,并且提供了较好的分离机制
相关术语
- Image:就像一个蓝图,是container的基础
- Container:依据image创建出来,是真正运行应用的东西
- docker deamon:管理docker container 的守护进程,client会与它交流
- Docker client:一个命令行工具,用户可通过它与docker deamon交互
- Docker hub:里面是所有可用的docker image
基本的命令
- 从Docker registry中抓取image存到本机中
docker pull IMAGE
- 列出系统中所有的image
docker images
- 搜索docker hub中的image
docker [options] search TERM
- 运行container
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
当运行这个命令时,docker client找到这个image,加载一个container,并在这个container中运行一个命令
-it 这个option会给container交互的tty, 这样就可以在container中尽情运行各种命令了
可以用docker run —help查看所有的option
-p 指定端口的转发
- 查看系统中的container
docker ps [options]
如不提供option,则只列出正在运行的container
-a 这个option会列出所有的container
-q 只返回container 的id
-f 根据提供的条件过滤出符合条件的container
- 删除特定ID的container
docker rm [options] CONTAINER
- 删除已经退出的container
docker rm $(docker ps -a -q -f status=exited)
- 删除指定 的image
docker rmi [options] IMAGE
- 创建image
Docker build [options] PATH
指定dockerfile 的路径,根据docker file 建立 image
Dockerfile
除了可以从docker hub中下载image外,也可以自己创建image
Dockerfile就是一个文本文件,里面是一系列的命令,docker client在创建image时会调用这些命令。这些命令与linux命令几乎一样
常用关键字:
- FROM:声明base image
- EXPOSE:暴露端口
- RUN:运行命令
- COPY:将本地的文件复制到container中
参考资料
https://docker-curriculum.com/#prerequisites
阅读全文
0 0
- docker--docker入门理论
- Docker入门
- Docker入门
- Docker 入门
- docker 入门
- docker入门
- docker入门
- docker 入门
- Docker 入门
- docker 入门
- Docker入门
- Docker-入门
- docker入门
- docker 入门
- docker 入门
- docker入门
- Docker入门
- Docker入门
- 【线段树】-敌兵布阵 --单节点更新
- [全排列]--A Number Puzzle
- Maven项目下载sqljdbc4-4.0.jar失败
- 学习计算机的书
- MySQL的语句执行顺序
- Docker 入门
- The POM for XXX is invalid, transitive dependencies (if any) will not be available
- 在windows下安装scrapy
- 游戏测试同步于Android设备的解决方案
- Samba案例分析
- Missing artifact jdk.tools:jdk.tools:jar:1.8
- 多线程 Callable Runnable 与Future
- 基于 SquashFS 构建 Linux 可读写文件系统
- 浅析 Linux 初始化 init 系统 systemd