Docker命令

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

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

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

1.Docker常用命令讲解进程

docker images查看本地镜像仓库

docker rmi [image id]  删除本地镜像仓库中的镜像image id为需要删除的镜像ID

docker pull [image name]:[tag]下载镜像到本地镜像仓库,image name镜像名称,tag镜像版本

docker search [keyword]查看本地镜像内容,keyword为镜像名称的关键字,不用输入全部镜像名。

docker run -d [image]把镜像执行成虚拟环境

docker build -t [image name] .

docker build -t [image name] -f [dockerfile] .

docker tag [original image name] [new image name]

docker tag [original image name]:[tag] [new image name]:[tag]

docker run -it [image] bash    把镜像执行成虚拟环境,并直接进入该docker虚拟环境中(等同于docker exec -it [image] bash)

docker exec -it [image] bash   把镜像执行成虚拟环境,并直接进入该docker虚拟环境中

docker run -d -p 8080:80 nginx访问外部的iP端口是8080其实就是对应内部ip的80端口执行的是nginx动作

docker run -d v /data:/data nginx把服务器的资料挂载到docker内部的资料,使得在docker内部使用。

docker run -d -e MYENV=test nginx  把服务器的环境变量变成docker内部的环境。

docker network create mynet1创建网卡命名为mynet1

docker ps 查看正在执行中docker的container容器,

docker ps -p-p只显示正在执行中container的id号

docker ps -a   -a显示所有的container,包括停止的和正在运行的

docker start [instance-id]  启动实例,instance-id实例ID号

docker stop[instance-id] 停止实例,instance-id实例ID号

docker attach[instance-id]  使得两个窗口的动作一致

docker rm [instance-id]   删除正在运行的实例instance,需先停止该实例后再删除

docker rm -f [instance-id] 强制删除正在运行的实例instance,勿需停止该实例可直接删除该实例

docker rm -f `docker ps -q` 删除所有正在执行的container,``把该执行结果作为前面执行删除操作的参数来调用。

[实例]

[root@docker ~]#docker ps  查看正在执行的container

CONTAINER ID    IMAGE       COMMAND          CREATED        STATUS        PORTS           NAMES

378e85b45f67    nginx     "nginx -g 'daemon of  28 minutes ago     Up 28 minutes    80/tcp        clever_turing

7fad893a54c4    nginx     "nginx -g 'daemon of   29 minutes ago    Up 29 minutes   0.0.0.0:8080->80/tcp   thirsty_yonath

[root@docker ~]# docker rm -f `docker ps -q `  删除所有正在执行的container

378e85b45f67

7fad893a54c4

[root@docker ~]#docker ps  查看正在执行的container,已经被全部删除

CONTAINER ID    IMAGE       COMMAND      CREATED      STATUS       PORTS         NAMES

[root@docker ~]# docker ps -a -q  查看所有的container,不管是正在执行的还是被删除的,-q只显示instance-id

bebf3f5b8112

0577c4b78979

1d26ba3448f0

3e05321bdbca

4cb7712e3dd7

[root@docker ~]# docker rm -f `docker ps -q -a ` 强制删除所有的container,不管是停止的还是在运行的。

bebf3f5b8112

0577c4b78979

1d26ba3448f0

3e05321bdbca

4cb7712e3dd7

[root@docker ~]# docker ps -a -q  再次查看已经没有container了,都已经被删除了。

2.命令格式:

docker run -it --name mydocker1 [image1] bash#对image1取个别名为mydocker1

docker run -it --link mydocker1:mydocker1 [image2] bash把两个image连通,使得image1和image2可以互相通讯

3.命令功能:

把两个container相互连通通信

3.命令参数:

-it --name 先对第一个image1取名称

-it --link 连接到第一个image,相互之间可以通讯

实例一

首先打开一个窗口输入以下命令,打开一个docker窗口1

[root@docker ~]# docker run -it --name node1 node bash

root@f2765d5fd9c8:/#

[root@docker ~]#docker run -it --link node1:node1 node bash

root@e85d11098482:/#

在第二个docker窗口下输入以下命令:

root@e85d11098482:/# ping node1  显示node1的ip地址是172.16.0.16

PING node1 (172.17.0.16): 56 data bytes

64 bytes from 172.17.0.16: icmp_seq=0 ttl=64 time=0.110 ms

64 bytes from 172.17.0.16: icmp_seq=1 ttl=64 time=0.073 ms

64 bytes from 172.17.0.16: icmp_seq=2 ttl=64 time=0.075 ms

64 bytes from 172.17.0.16: icmp_seq=3 ttl=64 time=0.094 ms

^C--- node1 ping statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max/stddev = 0.073/0.088/0.110/0.000 ms

在第一个docker窗口下输入以下命令,查看该窗口的IP地址正是node1的IP地址

root@f2765d5fd9c8:/# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

34: eth0@if35: mtu 1500 qdisc noqueue state UP group default

link/ether 02:42:ac:11:00:10 brd ff:ff:ff:ff:ff:ff

inet 172.17.0.16/16 scope global eth0

valid_lft forever preferred_lft forever

inet6 fe80::42:acff:fe11:10/64 scope link

valid_lft forever preferred_lft forever

实例二

attach实例,通过attach使得两个窗口显示一模一样:

[root@docker docker]# docker run -it nginx bash

root@0f8a31139121:/# ls

bin  boot  devetc  home  liblib64  media  mnt  optproc  root  run  sbin  srv  sys  tmp  u

root@0f8a31139121:/#

[root@docker ~]# docker ps  -q  先查看正在运行的docker进程

0f8a31139121

[root@docker ~]# docker attach 0f8a31139121

ls

bin  boot  devetc  home  liblib64  media  mnt  optproc  root  run  sbin  srv  sys  tmp  u

root@0f8a31139121:/#

实例三:

docker network create mynet1实例:

[root@docker docker]#docker network create mynet2  建立网卡,命名为mynet2

Error response from daemon: network with name mynet2 already exists   #提示该名称的网卡已存在

[root@docker docker]# docker network create mynet1

647cb9fd3d7162da73aaf12eba4dbcd88b7c0790f6eda617f6635b5c4eb13f7e

[root@docker docker]#docker network create mynet3

aa6f9827251c45cd88f308108bd78bb6ef719ed04d37213277217c95b615f17c

[root@docker docker]# docker run -d --name c1 --net mynet1 nginx  打开nginx,并命名为c1,且设定网卡为mynet1刚建立的网卡

b772bb24c6457d6c0528a16d3820841f06d934a10809dd266862687222344134

[root@docker docker]#  docker run -d --name c2 --net mynet2 nginx

66221df665551e658a81e169611d32179d119fc17b684a6ba9bca1b16b2a5b3f

[root@docker docker]# docker run -d --name c3 nginx  打开nginx程序,并命名为c3,但不指定网卡。

54fc6b30e9838f0e261ba82562de5a2a00e07667b46baf2f8f6f701107f80251

[root@docker docker]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES

54fc6b30e983        nginx               "nginx -g 'daemon off"   3 seconds ago       Up 2 seconds        80/tcp             c3

66221df66555        nginx               "nginx -g 'daemon off"   19 seconds ago      Up 18 seconds       80/tcp             c2

b772bb24c645        nginx               "nginx -g 'daemon off"   28 seconds ago      Up 27 seconds       80/tcp             c1

[root@docker docker]#docker exec -it c1 bash  #直接进入刚才建立的c1 bash

root@b772bb24c645:/#

实例四:

[root@docker docker]#docker rm -f `docker ps -q -a`

54fc6b30e983

66221df66555

b772bb24c645

[root@docker docker]# docker run -d -p 5000:5000 --name registry registry:2

Unable to find image 'registry:2' locally

2: Pulling from library/registry

9f9a7687cb91: Pull complete

607d8cb26263: Pull complete

305c4b3247bc: Pull complete

09fd65a9f827: Pull complete

5614c459bd0f: Pull complete

7d72978aa116: Pull complete

5a7694fedddd: Pull complete

37213f6a1a3f: Pull complete

6bb73e9857ff: Pull complete

8fe0c76b17fc: Pull complete

Digest: sha256:6cd209f81e188e8eaa13fad9b670fb1a4e9c7776a73b3881b69834fe5ddfb193

Status: Downloaded newer image for registry:2

c88ae6df9e41f06dbfc283585269ed7df0e23621b2357d2e3b73622565512048

[root@docker docker]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED           STATUS                PORTS                        NAMES

c88ae6df9e41       registry:2       "/entrypoint.sh /etc/"   10 seconds ago     Up 8 seconds   0.0.0.0:5000->5000/tcp   registry

[root@docker docker]# docker images

REPOSITORY          TAG             IMAGE ID            CREATED             VIRTUAL SIZE

nginx               latest              e076c61a6bf2        2 weeks ago         108.9 MB

node                latest              46ecedfa82d3        2 weeks ago         672.8 MB

registry            2                   8fe0c76b17fc        3 months ago        33.26 MB

[root@docker docker]# docker tag nginx localhost:5000/nginx

[root@docker docker]# docker images

REPOSITORY             TAG               IMAGE ID            CREATED             VIRTUAL SIZE

localhost:5000/nginx   latest        e076c61a6bf2        2 weeks ago         108.9 MB

nginx                  latest              e076c61a6bf2        2 weeks ago         108.9 MB

node                   latest              46ecedfa82d3        2 weeks ago         672.8 MB

registry               2                   8fe0c76b17fc        3 months ago        33.26 MB

[root@docker docker]# docker push localhost:5000/nginx

The push refers to a repository [localhost:5000/nginx] (len: 1)

e076c61a6bf2: Pushed

235c9b4b2c82: Pushed

8bc1215bde0f: Pushed

abc60fac2aea: Pushed

latest: digest: sha256:9a032ad6687bd8a621c6d7dbd29163eff9c35d5e77c04ddef9da52c63c72a934 size: 9566

docker可以把应用及其相关的_Docker相关命令应用相关推荐

  1. 高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化技术

    高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化技术 文章目录 高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化 ...

  2. docker 打包新镜像原有配置丢失_Docker简介与安装

    Docker简介:Docker与虚拟机区别:Docker的优点及内部组件说明:如何安装Docker与镜像加速配置. 什么是Docker Docker提供了一个可以运行你的应用程序的封装,或者说容器.它 ...

  3. 高级架构师_Docker_第2章_ Docker核心原理_ 第2节_Docker网络

    高级架构师_Docker_第2章_ Docker核心原理_ 第2节_Docker网络 文章目录 高级架构师_Docker_第2章_ Docker核心原理_ 第2节_Docker网络 Docker网络 ...

  4. docker 返回错误信息与本地不一致_Docker基本配置及常用命令

    基本命令 启动Docker systemctl start docker 查看Docker版本 docker --version 查看Docker信息 docker info 查看本地镜像 docke ...

  5. 容器虚拟化技术Docker(一)简介、安装、常见命令、数据卷、安装常规软件

    容器虚拟化技术Docker(一)简介.安装.常见命令.数据卷.安装常规软件 1.Docker简介 1.简介 Docker的主要目标是"Build,Ship and Run Any App,A ...

  6. Docker容器下Redis/ES/RabbitMQ/MongoDB/FastDFS启动命令总结

    docker 部署etcd Etcd:一个分布式的k-v存储服务 Etcd官网https://etcd.io/ etcd安装 1. 拉取bitnami/etcd镜像 docker pull bitna ...

  7. ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略

    ML之GB:GB算法相关论文.相关思路.关键步骤.代码实现.配图集合.案例应用之详细攻略 目录 GB算法相关文献.论文 GB算法关键步骤 GB算法代码实现 GB案例应用 1.GB用于回归 2.GB用于 ...

  8. 第十三章 相关方管理 权利利益方格 凸显模式 相关方立方体 相关方登记册 相关方参与评估矩阵

    相关方管理 过程组 相关方管理 启动 识别相关方 规划 规划相关方参与 执行 管理相关方参与 监控 监督相关方参与 总结:从标题就可以看出,相关方管理就管理相关方参与度.相关方期望.相关方的积极度. ...

  9. JVM内存模型、相关参数设置与命令查看

    JVM内存模型.相关参数设置与命令查看 JVM内存模型,你看这一篇就够了 - 知乎 (zhihu.com) Java虚拟机-Java8内存模型JVM(整理版) - 牧梦者 - 博客园 (cnblogs ...

最新文章

  1. 如何控制在一个软件中特殊的字符比如#都显示为红色呢?该字符是作为标签中的内容出现的,可能出现在JLABEL,JCheckBox,JCombox的标签中的,
  2. 【蓝桥杯】历届试题 地宫取宝
  3. 深入理解java虚拟机---读书笔记
  4. python中 是什么运算符_Python中什么是算术运算符、赋值运算符和复合运算符?...
  5. BZOJ3627 [JLOI2014]路径规划
  6. git使用---工作区和暂存区
  7. 工作总结4:拦截器的使用
  8. 如何提高PHP代码的质量?第一部分 自动化工具
  9. mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据
  10. 【Flink】Flink AM container is launched, waiting for AM container to Register with RM
  11. Bugku-Web-Cookies欺骗
  12. python 2 版本中的input() 和 raw_input() 函数的比较
  13. 【Luogu】P2173网络(LCT)
  14. 如何监测系统用户是否登录_网站建设教程:PageAdmin Cms如何获取用户登录状态...
  15. EJB开发web service
  16. PyTorch 激励函数
  17. 电脑显示windows无服务器,win10电脑提示windows似乎未正确加载_网站服务器运行维护...
  18. java lifo_java:stack栈: Stack 类表示后进先出(LIFO)的对象堆栈
  19. tableau无法建立连接_外部服务连接疑难解答 - Tableau
  20. LeetCode Image Smoother

热门文章

  1. [哈夫曼树] Jzoj P4210 我才不是萝莉控呢
  2. Django发HTML邮件
  3. 视觉SLAM十四讲学习笔记——第四讲--李群与李代数
  4. pytest fixture执行顺序
  5. μCUnit,微控制器的单元测试框架
  6. 错误: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
  7. 使用core data
  8. VC6中工具条的新特色
  9. An Introduction To The SQLite C/C++ Interface
  10. 福特第三代自动驾驶在美开启公开道路测试