创建redis服务端
docker run -p 6379:6379 -d --name redis-server docker.io/redis:3.0.7 redis-server --

port 6379
创建redis客户端
docker run -it --name redis-client2 docker.io/redis:3.0.7 redis-cli -h 172.17.0.1 -p

重进开启redis客户端
docker exec -it redis-client11 redis-cli -h 172.17.0.1 -p 6379
查看容器的6380端口对应本地机器的IP和端口号
docker port redis-server2 6380

又把官方文档过了一遍,总结一下常用命令

安装Docker:
  • ubuntu安装:curl -s https://get.docker.io/ubuntu/ | sudo sh

镜像管理

docker images:列出本地所有镜像
docker search <IMAGE_ID/NAME>:查找image
docker pull <IMAGE_ID>:下载image
docker push <IMAGE_ID>:上传image
docker rmi <IMAGE_ID>:删除image
 
 
容器管理
docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器    -t:分配一个虚拟终端    /bin/bash:执行bash脚本
-d:以守护进程方式运行(后台)
-P:默认匹配docker容器的5000端口号到宿主机的49153 to 65535端口
-p <HOT_PORT>:<CONTAINER_PORT>:指定端口号
- -name: 指定容器的名称
- -rm:退出时删除容器
 

docker stop <CONTAINER_ID>:停止container
docker start <CONTAINER_ID>:重新启动container

docker ps - Lists containers.
-l:显示最后启动的容器
-a:同时显示停止的容器,默认只显示启动状态
docker attach <CONTAINER_ID> 连接到启动的容器
docker logs <CONTAINER_ID>  : 输出容器日志

-f:实时输出

docker cp <CONTAINER_ID>:path hostpath:复制容器内的文件到宿主机目录上

 

docker rm <CONTAINER_ID>:删除container

docker rm `docker ps -a -q`:删除所有容器

docker kill `docker ps -q`

docker rmi `docker images -q -a`

docker wait <CONTAINER_ID>:阻塞对容器的其他调用方法,直到容器停止后退出

docker top <CONTAINER_ID>:查看容器中运行的进程

docker diff <CONTAINER_ID>:查看容器中的变化

docker inspect <CONTAINER_ID>:查看容器详细信息(输出为Json)

-f:查找特定信息,如docker inspect -f '{{ .NetworkSettings.IPAddress }}'

 

docker commit -m "comment" -a "author" <CONTAINER_ID>  ouruser/imagename:tag

 
      docker extc -it <CONTAINER> <COMMAND>:在容器里执行命令,并输出结果

 
 
 

网络管理

docker run -P:随机分配端口号
docker run -p 5000:5000:绑定特定端口号(主机的所有网络接口的5000端口均绑定容器的5000端口)
docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号
docker port <CONTAINER_ID> 5000:查看容器的5000端口对应本地机器的IP和端口号

使用Docker Linking连接容器:

Docker为源容器和接收容器创建一个安全的通道,容器之间不需要暴露端口,接收的容器可以访问源容器的数据

docker run -d -P --name <CONTAINER_NAME> --link <CONTAINER_NAME_TO_LINK>:<ALIAS>

 
 
数据管理
Data Volumes:volume是在一个或多个容器里指定的特殊目录
  • 数据卷可以在容器间共享和重复使用
  • 可以直接修改容器卷的数据
  • 容器卷里的数据不会被包含到镜像中
  • 容器卷保持到没有容器再使用它

可以在容器启动的时候添加-v参数指定容器卷,也可以在Dockerfile里用VOLUMN命令添加

docker run -d -P --name web -v /webapp training/webapp python app.py

也可以将容器卷挂载到宿主机目录或宿主机的文件上,<容器目录或文件>的内容会被替换为<宿主机目录或文件>的内容,默认容器对这个目录有可读写权限

docker run -d -P --name web -v <宿主机目录>:<容器目录> training/webapp python app.py
可以通过指定ro,将权限改为只读
docker run -d -P --name web -v <宿主机目录>:<容器目录>:ro training/webapp python app.py
在一个容器创建容器卷后,其他容器便可以通过--volumes-from共享这个容器卷数据,如下:
docker run -d -v /dbdata --name db1 training/postgres echo Data-only container for postgres
首先启动了一个容器,并为这个容器增加一个数据卷/dbdata,然后启动另一个容器,共享这个数据卷
docker run -d --volumes-from db1 --name db2 training/postgres
此时db2使用了db1的容器卷,当容器db1被删除时,容器卷也不会被删除,只有所有容器不再使用此容器卷时,才会被删除
docker rm -v:删除容器卷

除了共享数据外,容器卷另一个作用是用来备份、恢复和迁移数据

docker run --volumes-from db1 -v /home/backup:/backup ubuntu tar cvf /backup/backup.tar /dbdata
启动一个容器数据卷使用db1容器的数据卷,同时新建立一个数据卷指向宿主机目录/home/backup,将/dbdata目录的数据压缩为/backup/backup.tar
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --volumes-from dbdata2 -v /home/backup:/backup busybox tar xvf /backup/backup.tar
启动一个容器,同时把backup.tar的内容解压到容器的backup

仓库管理

docker login:登录

转自 http://blog.csdn.net/zhang__jiayu/article/details/42611469
 

Docker常用命令<转>的更多相关文章

  1. 《Docekr入门学习篇》——Docker常用命令

    Docker常用命令 Docker镜像管理 搜索镜像:docker search 获取镜像:docker pull 查看镜像:docker images 删除镜像:docker rmi 构建镜像:do ...

  2. 《Docekr入门学习篇》——Docker实战

    基础环境 root@docker~]# cat /etc/redhat-release #查看版本号 CentOS Linux release (Core) [root@docker ~]# unam ...

  3. 《Docekr入门学习篇》——Docker仓库harbor

    Harbor Harbor仓库介绍 我们在日常Docker容器使用和管理过程中,渐渐发现部署企业私有仓库往往是很有必要的, 它可以帮助你管理企业的一些敏感镜像, 同时由于Docker Hub的下载速度 ...

  4. 《Docekr入门学习篇》——Docker镜像制作

    Docker镜像制作 Docker镜像的构建分为两种,一种是手动构建,一种是dockerfile(自动构建) 手动构建 基于centos镜像进行构建制作Nginx镜像 [root@rbtnode1 ~ ...

  5. 《Docekr入门学习篇》——Docker简介

    Docker简介 什么是docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2. ...

  6. 《Docekr入门学习篇》——Docker网络及数据卷

    Docker网络设置 默认情况下docker会创建一个桥接网卡[docker 0],docker有两种映射方式,一种是随机映射,一种是指定映射. 提示:生产场景一般不使用随机映射,但是随机映射的好处是 ...

  7. [adb 学习篇] adb常用命令

    https://testerhome.com/topics/2565 Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb ...

  8. Docker学习之docker常用命令

    docker ps -a 表示所有容器 docker pull 获取image docker build 创建image docker run 运行container docker images 列出 ...

  9. Docker | Docker常用命令学习笔记

    @ 目录 前言 1. 帮助命令: version.info.help 2. 镜像命令: images.search pull.rmi 3. 容器命令: pull.run ps.exit .ctrl+P ...

  10. linux学习:【第2篇】常用命令

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第2篇]常用命令 基本命令 //打开终端: CentOS:在任何地方,右键-- ...

随机推荐

  1. npm的影武者 —— Npx

    npx github:https://github.com/zkat/npx 什么是Npx?它和npm是什么关系? 如果你把NPM升级到最新版本npm@5.2.0 ,它就会安装一个新的包npx $ n ...

  2. PHP断点调试工具Xdebug的安装

    Xdebug是一个PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况.其实调试PHP还有其他工具比如Zend Debugger,但zend官方不是免费发布的,后来更新为zend Serve ...

  3. Intellij Idea生成serialVersionUID的方法

    默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告.如果需要ide提示生成serialVersionUID,那么需 ...

  4. [CTCI] 子串判断

    子串判断 题目描述 现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串. 给定一个string数组p和它的大小 ...

  5. 【Unity】7.6 自定义输入

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在Unity中可以创建自定义的虚拟按键,然后将设备的输入映射到自定义的按键上.使用虚拟按键的好处是可以让游戏玩家自己定义 ...

  6. FFmpeg编译:Linux下使用NDK编译FFmpeg

    环境: Ubuntu 1.下载并解压FFmpeg3.4.zip(略) 2.将编译脚本放入到FFmpeg解压后的目录. 3.执行编译脚本: ./linux_build_android.sh linux_ ...

  7. CCObject

    /**************************************************************************** Copyright (c) 2010 coc ...

  8. android笔记---主界面(二)自定义actionbar环境的配置

    第一步,添加java文件 第二步,添加actionbar的item文件 是个选择器,点中状态和选中状态 <?xml version="1.0" encoding=" ...

  9. query compiler

    https://db.in.tum.de/teaching/ws1415/queryopt/chapter3.pdf?lang=de pi3.informatik.uni-mannheim.de/~m ...

  10. 深入详解JVM内存模型与JVM参数详细配置

    对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块.Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建. JVM内存结构 由上图可以清楚的看到 ...