查看该Linux系统是Centos 还是 ubuntu
1、centos
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
2、ubuntu / Debian
cat /etc/issue
Debian GNU/Linux 10 \n \l容器生命周期管理   — docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维  — docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs命令  — docker [commit|cp|diff]docker update 命令用于更新一个或多个容器的配置。docker update --helpUsage:  docker update [OPTIONS] CONTAINER [CONTAINER...]

 容器运行参数
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
其中OPTIONS
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-v /data/www/quwan:/www:挂载目录或文件;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-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=[]: 开放一个端口或一组端口;
--privileged=true查看正在运行的容器
docker ps 查看全部容器
docker ps -a查看容器正在运行的进行
docker top php-fpm重命名容器
docker rename php-fpm php72-fpm设置容器开机自启动前提是docker已被设置开机自启动重启策略:no -  容器退出时,不重启容器;on-failure - 只有在非0状态退出时才从新启动容器;always - 无论退出状态是如何,都重启容器;还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。在启动容器的时候设置docker run --restart=on-failure:3 redis如果容器已经启动后docker update --restart=on-failure:3 redisdocker容器与主机间文件互相拷贝,容器可以是启动的也可以是停止的。
1、将主机./RS-MapReduce目录拷贝到容器nginx的/home/cloudera目录下。
docker cp RS-MapReduce nginx:/home/cloudera
2、将容器nginx的/home/cloudera/RS-MapReduce目录拷贝到主机的/tmp目录中。
docker cp  nginx:/home/cloudera/RS-MapReduce /tmp/查看容器启动,运行,报错日志
docker logs 容器ID停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)返回全部容器的id
docker ps -a -q删除容器
docker rm <container-id>容器中安装vim
apt-get install -y vim
如果提示 Unable to locate package vim 表示需要
apt-get update && apt-get install -y vim安装wget
apt-get install -y wgetbash: ip: command not found
apt-get install iproute2 iproute2-doc停止一个容器
docker stop nginx进入容器
docker exec -it php72-fpm bash
将获取到一个回话,使用exit退出容器
值得注意的是,在以alpine为基础容器的容器中没有 /bin/bash 命令,此时需要改成
docker exec -it php72-fpm sh临时执行容器中的命令
docker exec -it php72-fpm php -m
-it会获取到容器的标准输出并打印出来。查看容器参数,运行参数,比如目录挂载,端口映射等
docker inspect mysql容器创建后如何修改启动时的参数比如启动参数为 docker run --name php-fpm -p 9000:9000 -v /data/www/quwan:/www -d php:fpm有时候需要修改启动参数,新手的话一般会选择重新创建一个容器,但是如果在容器中需要做一些安装和配置,那么又需要重新来一遍。要知道容器的配置是保存在文件的,那么最直接的修改方式就是修改配置文件,当然有一些提供了命令来修改。容器目录:/var/lib/docker/containers/容器IDdocker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)service docker stopcd /var/lib/docker/containerslsdocker ps你应该能找到规律cd b725a800bd10243659b3484ef285da701f34d8951d2460309928587ea8c43552ls主要文件config.v2.json  hostconfig.json修改之前一定要备份cp config.v2.json config.v2.json.bakcp hostconfig.json hostconfig.json.bak修改这两个配置文件后service docker start启动容器修改容器里的文件后导致容器无法启动了怎么办?你应该遇到过这种情况,或许迟早会遇到。方法一、要知道在Linux下一切皆文件,所以容器内部的文件应该能在宿主机上找到。先查看错误日志知道自己哪里改错了,一般的容器都会将错误日志重定向到标准输出,而docker会将容器的标准输出记录下来。docker logs php72-fpm查找文件,我这里设置的是overlay文件系统cd /var/lib/docker/overlayllfind ./ -name php-fpm.conf可能有多个,需要认为辨认。方法二、基于方法一的知识,如果你知道那个文件在容器中的具体位置,可以使用 docker cp 命令先将它从容器中复制出来,修改后在复制进容器即可。这种方法显然更简单高效。对于频繁修改的配置文件最好挂载到容器外面,比如 nginx 配置文件。Docker 参数 -i -t 的作用
通常的解释是: -t让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开.问题
所以通常都是这样的: sudo docker run -it ubuntu 进入了命令交互界面
但是如果不加呢? sudo docker run ubuntu 或sudo docker create ubuntu & sudo docker start ubuntu
这样的话, docker容器无法启动。原因
Docker中系统镜像的缺省命令是 bash,如果不加 -ti bash 命令执行了自动会退出。这是因为如果没有衔接输入流,本身就
会马上结束。加-ti 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自
动退出。如果容器里运行了服务,那么它会监听一个端口,输入输出流保持打开,自然也就不需要-it参数了,比如 nginx容器,对于没
有监听的容器,比如ubuntu ,必须用-it参数来迫使容器运行起来,否则立马就退出了。

docker的容器操作命令及其使用技巧相关推荐

  1. 《Docker:容器与容器云》.pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如K ...

  2. docker启动停止操作命令

    上一篇我们简单说明了docker的常用操作命令,下面来说说docker是如何操作一个镜像的,以及镜像交互的基本命令, 1.按照之前所说,远程下载一个镜像,这里从dockerhub上下载一个centos ...

  3. docker执行容器内的shell_为什么不建议把数据库部署在docker容器内?

    前言 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗? 这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视 ...

  4. docker 镜像容器导入导出、查看日志、拷贝文件命令

    1. 本地文件拷贝到docker 容器中,参考 docker cp /root/pcl-pcl-1.8.1.tar.gz 7ff95b333e12:/docker cp /root/lib64_a 7 ...

  5. Docker将容器制作成镜像并提交到远程仓库

    Docker将容器制作成镜像并提交到远程仓库 步骤如下 先在dockerhub上创建一个自己的用户https://hub.docker.com/.或者在阿里云也可以. 2. 然后先创建一个空的镜像名. ...

  6. docker server 容器连接sql_Docker使用指南

    一.Docker安装 在Ubuntu系统下安装: apt-get install docker 在Fedora/CentOS系统下安装: yum install docker dnf install ...

  7. Docker 多容器编排Swarm(六)

    docker swarm简介 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机 ...

  8. docker mysql容器 修改时区

    目录 mysql时区介绍 方法一: 临时修改 方法二: 启动时加参数(推荐) mysql时区介绍 先来校验下数据库是否真的时区不对. 进入MySQL数据库, 运行语句: SELECT NOW(); 会 ...

  9. linux docker 限制容器可用的 cpu

    默认情况下容器可以使用的主机 CPU 资源是不受限制的.和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源 ...

最新文章

  1. 《C#精彩实例教程》小组阅读12 -- C#面向对象技术高级应用
  2. HTML 特殊符号编码对照表
  3. 将阿拉伯数字转换为其对应的中文数字
  4. Linux命令的实现 -- ls pwd cd
  5. MongoDB C++ gridfs worked example
  6. Python3中的hasattr()
  7. Python错误:TypeError: string indices must be integers
  8. Comcast Xfinity家庭安全系统被曝严重漏洞
  9. 输出2—1000的所有同构数c语言详解
  10. 计算机长时间休眠后无法唤醒,win7电脑休眠后无法唤醒解决方法
  11. JS数组方法shift()、unshift()用法实例分析
  12. 对于开发软件的NABCD分析
  13. HMGK-being_hacked
  14. 一阶贝塞尔函数matlab,一阶贝塞尔函数
  15. mysql 分数相加_分数求和
  16. untiy发布webgl开发记录
  17. IRQL-NOT-LESS-OR-EQUAL异常分析
  18. 阿里云IoT启动“IoT合伙人”计划,投5亿赋能100万开发者
  19. 读书笔记--《Effective C#》总结
  20. UserWarning: h5py is running against HDF5 1.10.5 when it was built against 1.10.4(解决方案))

热门文章

  1. 5620亿参数,最大多模态模型控制机器人,谷歌把具身智能玩出新高度
  2. 计算机通信技术论文,计算机通信技术专业论文选题 计算机通信技术论文题目如何取...
  3. SQL数据库还原时备份集中的数据库备份与现有的数据库不同的解决办法
  4. power bi 雷达图_X射线衍射的结果究竟是quot;图quot;还是“谱”?
  5. 【金猿产品展】云数据平台CyberMeta——企业级的能力复用平台
  6. 流星存世短、光芒耀心恒
  7. 无人机飞行数据java版本api大疆无人机SpringBoot
  8. B站拿什么保护我方up主,知识区?
  9. 携程开启“混合办公”模式,来听听内部员工怎么说
  10. 天正暖通天圆地方在哪_CAD及天正暖通快捷键大全