Docker常用指令

docker 常用指令

从开始使用docker到深入使用docker

1. 查看docker版本
docker version --返回docker版本信息
2. 查看docker的运行的详细信息
docker info -- docker一些状态、模式、端口信息
--container 

--images

--storage driver

--root directory

--execution driver

--debug status

--proxy port

-- 。。。

3. 如何跑docker run command
docker run [-it/p] image //run image as a container
sudo docker run -p 8080:8080 -p 50000:50000 jenkins
-p ip:hostport:containerport 127.0.0.1:80:8080 --

-d 在后台运行 --

-i 交互模式运行 --

--name 指定容器名称  -

--env-file=[] 从指定文件读入环境变量-

-v 

执行命令后,会下载hello-world image

--p参数,指定端口号,容器之间的通信
--如果已经存在这个container
--如果本地没有,就去仓库hub里下


4. 从仓库里拉取image镜像
docker pull [image]
5. 查看docker 镜像信息
docker images
tag -
image ID
Created
Virtual Size
6. 移除docker images
docker rmi ImageID
7. 返回imagesID only
docker images -q
8. 查看image或者container的detail
docker inspect Repository(image name)
9. container是image的实例
10. 查看有哪些containers
docker ps [-a] //返回当前运行的containers
-a 返回系统上的containers
11. 查看指定镜像的创建历史
docker history ImageID
12. 查看Container的top信息
docker top ContainerID
13. 停止运行container
docker stop ContainerID
14. 删除一个container
docker rm ContainerID
15. docker stats ContainerID
16. docker attach ContainerID
17. 暂停一个container
docker pause ContainerID
18. docker unpause ContainerID
19. 干掉一个container
docker kill containerID
20. container的生命周期
created run kill pause stop
21. container的架构
22. docker的配置
service docker stop
service docker start
23. containers and shells
docker run -it centos /bin/bash
24. docker File
DockerFile创建
DockerFile中的内容和语法 -

文件构成

  1. 基础镜像信息
  2. 维护者信息
  3. 镜像操作指令
  4. 容器启动时执行指令
  5. 为注释内容

1. # - 注释的用法
2. FROM <image>- 开头关键字,从这开始,从哪个iamge中拿东西
3. MAINTAINER - 告诉docker谁将维护这个
4. RUN - image运行哪些指令,针对image

4.1 RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。

4.2 如果不想使用这些缓存镜像,可以在构建时指定--no-cache参数,如:docker build --no-cache

6. ADD - 将本地文件添加到容器中,可以访问网络(wget),也会自动解压文件
7. COPY - 类似ADD,不会解压也不能访问网络
8. CMD - 容器启动时,系统运行指令
9. EXPOSE - expose port in the container to the Docker host
10. ENTRYPOINT - 配置容器接收参数,使其可执行
11. LABEL - 为镜像添加元数据
12. VOLUME - 指定持久化目录
13. WORKDIR -工作目录,类似cd命令
14. ONBULILD - 设置镜像触发器
15. ENV - 设置环境变量

博客:https://www.cnblogs.com/panwenbin-logs/p/8007348.html

docker的构建
1. docker bulid -t ImageName:TagName dir

dir Docker File的目录

25. 管理docker端口

hostport containerport

26. 部署web server dockerfile
  1. 创建DockerFile
  2. build

docker build -t="mywebserver"

  1. run

docker run -d -p 80:80 mywebserver

27. 一些常用主机命令
CMD command param1 # CMD["echo","hello world"]
ENTRYPOINT command param1 #ENTRYPOINT ["echo"] 可以从CLI接受参数
ENV key value # ENV var1=Tutorial var2=point 设置环境变量
28. 设置container的工作路径
WORKDIR dirname #设置工作目录
29. ??多个containers之间如何通信??

Container Linking better option than exposing ports

docker run --link=...

30. Data Volumes
  1. 当container创建时初始化
  2. 能够共享,以及重用在许多container之间
  3. container删除了,他还在
  4. 任何改变,直接体现

run的时候 指定 -v map the volume in the container to a local volume

sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins 

will see all the container files in /home/demo
31. 创建Volume
docker volume create --name=volumename -opt options
32. 查看volume list
docker volume ls
33. container之间通信,container和Docker host之间通信
docker network ls
docker network inspect networkname
34. 多个containers为一个service服务

Docker Compose

an application which required NGINX and MYSQL

下载docker-compsoe

docker-compose version
docker-compose.yml
keywords:
./docker-compose up #run docker-compose
Kubernetes

管理services - service由多个containers组成

35. docker的端口映射怎么搞

在容器启动时,不指定端口映射,在容器外部无法通过网络来访问容器内的应用和服务

run的时候-p -P参数来指定

-p指定要映射的端口,一个指定端口上只可以绑定一个容器
-P将容器内部开放的网络端口随机映射到宿主机的一个端口上
--link 使多个container互联,而不暴露端口
docker run --name webapp --link mysql:db -it -d ubuntu /bin/sh

端口映射支持的格式

  1. ip:hostport:containerport #指定ip、指定宿主机port、指定容器port

  2. ip::containerport www.365soke.cn #指定ip、未指定宿主机port(随机)、指定容器port

  3. hostport:containerport #未指定ip、指定宿主机port、指定容器port

docker port --help
Docker的文件系统是如何工作的
  1. Docker镜像是由多个文件系统(只读层)叠加而成

  2. 当我们启动一个容器的时候,Docker会加载只读镜像层并在其上(译者注:镜像栈顶部)添加一个读写层

  3. 为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念

  4. 容器的数据被保存在容器之内,它只在容器的生命周期内存在,会随着容器的被删除而被删除。当然,也可以使用 docker commit 命令将它持久化为一个新的镜像。

    1. 它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上
    2. 使用 -v 来挂载主机上的一个文件到容器内的一个文件

docker底层架构

https://blog.csdn.net/CleverCode/article/details/83863925
C/S
https://www.cnblogs.com/zhangxingeng/p/11236968.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容