# 运行docker
# -it表示前端运行
docker run -it centos /bin/echo haha # 后端运行并映射80端口
docker run -dt -p : --name mycentos my/os
# 端口映射,IP访问限制
docker run -dt -p 127.0.0.1:: --name mycentos my/os # 不创建Container运行docker
docker run --rm -it centos /bin/echo haha # 创建Container,起个名字
docker run -it --name testecho centos /bin/echo haha # 重命名image
docker tag image_name new_image_name # 运行centos的终端
docker run -it centos /bin/bash # Container重命名
docker rename nginx nginx_1 #------------------------------------------------------------
# 退出
#------------------------------------------------------------
# 在docker的centos终端退出,此退出会停止Container
exit
# 不停止Container情况下退出方法
快捷键:ctrl + p, ctrl + q #------------------------------------------------------------
# 运行Container
#------------------------------------------------------------
# 运行已经退出的docker centos终端
docker start 0a2b06b59448
# 运行并附加到container
docker start -i ContainerID # 停止正在运行的docker centos终端
docker stop 0a2b06b59448 # 附加到docker终端Container,前提是此Container已经运行中
docker attach 3b6165b7504a # 列出所有的Container
docker ps -a # 打印docker的运行终端显示
docker logs 81a4f43c74ed # 删除Container
docker rm 3b6165b7504a # 删除所有Container
docker rm $(docker ps -a) # 列出所有镜像
docker images # 搜索镜像
docker search centos # 下载镜像
docker pull centos # 提交镜像
docker commit mycentos my/os:latest #------------------------------------------------------------
# 镜像导入导出及运行
#------------------------------------------------------------
# 导入容器为镜像文件
docker export 3b6165b7504a > centos.tar # 导入镜像
cat centos.tar | docker import - test/centos:v1. # 运行导入的镜像
docker run -it test/centos:v1. /bin/bash # 删除镜像
docker rmi test/centos:v1. # 查看docker的信息,包括安装路径、CPU、内存等
docker info # Container执行命令,进入容器终端
docker exec -it ContainerID bash
# 进入容器终端
nsenter --mount --uts --ipc --net --pid --target $(docker inspect --format "{{.State.Pid}}" "4cd5af004a52") # 查看Container的端口映射
docker port ContainerID #------------------------------------------------------------
# 动态设置运行时的环境变量
# 使用参数--env
# 查看Container的环境变量方法,可以进入Container的bash中运行命令:env
#------------------------------------------------------------
# 查看Container的环境变量
docker exec -it nginx env
# 查看Container的Host文件
docker exec -it nginx cat /etc/hosts
# 设置Container的环境变量
docker run --rm -it --name test --env MYHOME=/home --env TEST=/home --env PATH=$PATH:/home centos bash
# 也可以使用inspect查看Container的环境变量
docker inspect nginx #------------------------------------------------------------
# 端口映射,IP访问限制
#------------------------------------------------------------
docker run -dt -p 127.0.0.1:: --name jetty img_jetty
docker run -dt -p 127.0.0.1:: --name jetty1 img_jetty
docker run -dt -p : --name nginx --link jetty:java --link jetty1:java1 img_nginx #------------------------------------------------------------
# 镜像保存与重加载
#------------------------------------------------------------
# 保存镜像
docker save img_java > img_java.tar
# 重新加载镜像
docker load < img_java.tar
# 查询镜像历史
docker history img_java
# 查看镜像信息Json
docker inspect img_java #------------------------------------------------------------
# 文件复制
#------------------------------------------------------------
# 从Container复制文件autorun.sh到Host主机的/home目录下
# 也可以是目录复制
docker cp test:/etc/init.d/autorun.sh /home
# 从Host主机复制文件或文件夹到Container主机
# 使用scp命令,如果没有安装scp,使用yum install openssh-clients
# 首先需要使用docker exec进入到Container的终端
scp -rp root@192.168.0.35:/home/jetty8/* /home/

#------------------------------------------------------------
  # docker容器自动启动
  #------------------------------------------------------------
  docker run --restart=always redis

#------------------------------------------------------------
# 挂载数据卷
# 参数privileged=true:意思给容器添加特权,比如对挂载卷的读写
# 挂载多个数据卷,可以使用多次-v
#------------------------------------------------------------
# 创建数据卷容器,并挂载目录
docker run -it --privileged=true -v /home/jetty8:/home/jetty8 --name jetty centos bash
# 使用数据卷容器创建新的数据卷容器
docker run -it --privileged=true --volumes-from jetty --name os centos bash #------------------------------------------------------------
# 使用Dockerfile创建镜像
#------------------------------------------------------------
# 注意后面的一点不可少:.
docker build -f dockerfile -t my/centos .

[Linux] - Docker 常用命令的更多相关文章

  1. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  2. 关于Docker 常用命令

    Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...

  3. Docker---(3)Docker常用命令

    原文:Docker---(3)Docker常用命令 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_3 ...

  4. Docker常用命令-全

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接: https://app.yinxiang.com/shard/s17/nl/19391737/9f6bf39e- ...

  5. Docker 常用命令和Dockerfile

    Docker 简介 官方的解释为:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现 ...

  6. [转帖]Docker常用命令总结

    Docker常用命令总结 http://www.ha97.com/5546.html 发表于: Linux, 互联网, 虚拟化与云计算 | 作者: 博客教主 标签: docker,常用命令,总结 PS ...

  7. docker常用命令与容器创建

    ################docker安装##################### Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个 ...

  8. Docker(三)Docker常用命令

    Docker常用命令 帮助命令 # 显示 Docker 版本信息 docker version # 显示系统信息,包括镜像和容器的数量 docker info # 查看帮助文档 帮助文档地址:http ...

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

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

随机推荐

  1. Spring学习笔记(1)——资源加载

    <!-- 占坑,迟点补充底层原理 --> Spring支持4种资源的地址前缀 (1)从类路径中加载资源——classpath: classpath:和classpath:/是等价的,都是相 ...

  2. iOS8后core location框架启动定位服务的步骤

    1.在使用CoreLocation前需要调用如下函数[iOS 8专用]: iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允 ...

  3. 第一章:Android系统移植与驱动开发概述

    Android是基于Linux内核的,与Linux内核没有太大的区别,只是增加了一些自己独有的驱动,随着Android发布版本的不断升级,他所使用的Linux内核也在不断升级,以适应新的安卓版本,为他 ...

  4. OpenCV阶段总结扩充。

    Mat类型简单介绍 /* cv::Mat类是用于保存图像以及其他矩阵的数据结构.默认情况下,其尺寸为0,我们也可以设置其初始尺寸,比如定义一个Mat类的对象,就要写cv::Mat pic(320,64 ...

  5. foreach循环 Java

    第一次遇到foreach循环,是在PHP的数组中,同样,在Java数组中,也遇到了foreach循环,都是用来遍历数组(集合).遍历数组,首先想到的一般都是用while,do while,for循环, ...

  6. 2016-12-21(1)Git常用命令总结

    友情链接:http://www.cnblogs.com/mengdd/p/4153773.html

  7. Android Studio 个人常用设置

    1.主题 Darcula主题真的看起来舒服很多呢: 2.常用快捷键 "Toggle Case" "Quick Documentation" "Refo ...

  8. Linux下memcache的安装

    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.目前用memcache解决互联网上的大用户读取是非常流行的一种用法,在互联网企业中有着广泛的应用.‍关 ...

  9. 你必须牢记的*.Config-配置文件

    在我们第一次写web应用程序的时候,我们很快会接触到一个文件,那就是配置文件——web.config.我们的第一个比较深刻 的使用就是我们不需要把我们的数据库链接零散的写在我们的代码中了,我们只需要在 ...

  10. Apache2 同源策略解决方案 - 配置 CORS

    什么是同源策略 现在的浏览器大多配有同源策略(Same-Origin Policy),具体表现如下: 浏览某一网站,例如 http://www.decembercafe.org/.这个网页中的 Aja ...