Docker使用技巧及常用命令

安装docker

  • 检查curl包是否安装?

    which curl
  • 如果curl没有安装的话,则先更新apt源,并安装curl,如下:
    apt-get updateapt-get install curlapt-get updatewget -qO- https://get.docker.com/ | sh
  • 设置当前用户为docker用户组,便于解决每次执行docker命令时都需要输入密码。
    # 添加一个新的docker用户组groupadd docker# 添加当前用户到docker用户组里,注意这里的xxoo为ubuntu server登录用户名gpasswd -a xxoo docker# 重启docker后台监护进程service docker restart# 重启之后,尝试一下,是否生效docker version#若还未生效,则系统重启,则生效reboot
  • 启动docker服务,如下:
    service docker start

常见命令

  • 运行容器
        docker run hello-world
  • 显示本地镜像
       docker images
  • 获取镜像
       docker pull ubuntu:12.04
  • 创建一个容器,并让其运行bash
          docker run -t -i ubuntu:12.04 /bin/sh

说明:-i:表示以“交互模式”运行容器 -t:表示容器启动后会进入其命令行。

  • 利用DocFile来创建镜像
         mkdir sinatracd sinatra/touch Dockerfilevim Dockerfiledocker build -t="ouruser/sinatra:v2" .
  • 运行容器
        docker start [stop| restart] xxx
  • 导出容器
           docker ps -adocker save -o ubuntu.tar.gz ubuntu:14.04 *(保存的是所有这个镜像的版本记录,包括一些历史数据.)*docker export pid > ./ubuntu.tar.gz *(导出的是容器当前所用的镜像内容)*
  • 导入容器
          docker load < /tmp/mynewimage.tar *(docker save 的逆操作)*cat ubuntu.tar | docker import - test/ubuntu:v1.0 *( export 的逆操作)*
  • 删除容器
          docker stop xxxdocker rm xxx

说明:docker 的文件是放在 /var/lib/docker/containers/ 中的。

  • 保存镜像
     docker commit xxx abc

说明:这里保存成一个名叫 abc 的镜像,镜像名称中只允许出现小写字母和数字。

  • 删除镜像
      docker rmi abc
  • 获取镜像历史
         docker history abcdocker images --tree *(查看所有镜像的历史过程)*

说明:只能对本地存在的 docker 镜像执行这个命令。

  • 杀死一个或多个指定容器进程
         docker kill container

说明:-s “KILL” 自定义发送至容器的信号。

  • 查看一个正在运行容器进程
          docker top container

说明:也支持 ps 命令参数。

  • 暂停某一容器的所有进程
        docker pause container
  • 恢复某一容器的所有进程
           docker unpause container
  • 标记本地镜像,将其归入某一仓库
             docker tag image name

说明:-f 覆盖已有标记。

  • 获取容器运行时的输出日志
         docker logs container
  • docker attach
      docker run -itd ubuntu:14.04 /bin/bashdocker attach 44fc0f0582d9

说明:docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

  • docker exec
      docker exec -i name /bin/sh

只用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令 返回值都可以正确获取。

      docker exec -it name /bin/sh

使用-it时,则和我们平常操作console界面类似。而且也不会像attach方式因为退出,导致整个容器退出。

        docker exec -t name /bin/sh

如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin的输出,无法看到命令执行情况。

       docker exec -d name /bin/sh a.sh

在后台执行一个进程。可以看出,如果一个命令需要长时间进程,使用-d参数会很快返回。程序在后台运行。

  • 分层级显示一个镜像或容器的信息
         docker inspect 465c60612e5c

常见容器安装

  • mysql
       docker search mysql       docker pull mysql        docker run --name xmysql-db -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v /data/mysql_data/:/var/lib/mysql mysql
  • mongodb
      docker pull mongo      docker run --name xmongo-db -p 27018:27017 -v /data/my_mongo_data:/data/db -d mongo
  • jenkins
         docker pull jenkinschown 1000 /data/jenkins_data/        docker run --name xjenkins -d -p 9000:8080 -p 50000:50000 -v /data/jenkins_data:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --env JAVA_OPTS="-Xmx512m -XX:PermSize=256m -XX:MaxPermSize=1024m" -d jenkins
  • elasticsearch
      docker pull elasticsearch      docker run --name xelastic-search -d -p 9200:9200 -p 9300:9300 -v /data/esdata:/usr/share/elasticsearch/data elasticsearch
  • tomcat
        docker pull tomcat       docker run --name xtomcat -d -v /data/tomcat/webapps/:/usr/local/tomcat/webapps/ -p 8080:8080 -p 9001:9000 tomcat:8
  • dockerui
        docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
  • webgoat
      docker pull webgoat/webgoat-7.1     docker run --name xwebgoat -d -p 8080:8080 webgoat/webgoat-7.1
时间: 2024-11-08 09:22:03

Docker使用技巧及常用命令的相关文章

Docker 学习 (2): 常用命令

Docker 学习 (2): 常用命令 命令行操作前提: systemctl start docker 启动docker sudo -i 进去root模式 一.帮助命令 docker version 查看对应安装的版本号,可以用来检测docker是否安装c成功 docker info Docker容器安装之后,个人信息的描述,比version更加详细 docker --help docker的帮助命令 二.镜像命令 前提:在操作镜像的时候,如果镜像名称的后面没有加版本号,那默认就是操作的最高的版

GDB调试技巧:常用命令

一 写在开头 1.1 本文内容 总结GDB调试的一些常用命令.不定期更新. 二 常用命令 GDB和VIM一样,功能异常强大,但要熟练掌握它却很需要费时间.不过,尽管它们两个的命令多如牛毛,但只要掌握最常用的那几个命令就可以快速上手.下面的列表总结了GDB最常用的几个命令. 简写 全称 备注 l list 显示指定行号或者指定函数附近的源代码 b break 在指定行号或者指定函数开头处设置断点.如b main r run 运行程序,直到程序结束或者遇到断点而停下 c continue 在程序中断

docker之容器管理常用命令篇

常用命令如下表: 选项 描述 ls 列出容器 inspect 查看一个或多个容器详细信息 exec 在运行容器中执行命令 commit 创建一个新镜像来自一个容器 cp 拷贝文件/文件夹到一个容器 logs 获取一个容器日志 port 列出或指定容器端口映射 top 显示一个容器运行的进程 stats 显示容器资源使用统计 stop/start 停止/启动一个或多个容器 rm 删除一个或多个容器 1.ls - 列出容器 只列出正在运行的容器:[[email protected] ~]# dock

CMD命令提示符窗口中的快捷键、小技巧和常用命令

快捷键: F1:按F1一次,命令提示符向后切换到已经执行过的命令字符.如果已经是最后的一条的命令,则不进行任何切换操作. 例子:之前输入“dir”,按F1一次后自动输入d,按两次自动输入i,三次自动输入r. F2:按下此键后,会提示“输入可复制的字符数量”,此时直接按下上次输入命令中包含的字符(区分大小写)后命令提示符将自动输入到按键字符之前的上次输入的命令字符. 例子:之前输入“dir”,按F2再输入r,则自动输入di. F3:自动输入上次执行过的命令.如已经输入了一些字符,按键后自动输入剩余

Docker第二弹之常用命令

Docker的常用命令 底层原理 Docker是如何工作的 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器. 容器,是一个运行时环境. 为什么Docker比VM快 (1)docker有着比虚拟机更少的抽象层.由亍docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源.因此在CPU.内存利用率上doc

iOS开发——开发技巧&amp;Git常用命令

Git常用命令 初始化git init        加—bare实现远程仓库 配置git config user.name iCocos 配置全局git config —global user.name iCocosgit config —global user.email [email protected] 状态git status 添加到帮派git add iCocos.m 提交git commit iCocos.m -m “注释” Log纪录git loggit log + 文件名git

docker的介绍以及常用命令

一.docker的介绍 1. Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口. 详情参考:https://baike.baidu.com/item/Docker/13344470?fr=aladdin 2. Docker与vm(虚拟机)的区别 在比较虚拟机和容器时,请考虑此图: 虚拟机图 虚拟机运行来宾操作系统 - 请注意

Docker之镜像管理常用命令

1.列出当前本地镜像:docker image ls2.查看镜像历史分层:docker history 镜像名:tag3.查看镜像具体详情:docker image inspect 镜像名:tag 可以看到容器配置主机名,工作目录,数据卷,标签等信息.4.docker image pull nginx:1.11 从docker仓库下载nginx:1.11版本镜像5.docker image rm busybox:latest 删除镜像6.docker image tag nginx:latest

docker之容器管理常用命令

docker container top nginx01 查看容器中运行的进程docker container exec -it nginx01 sh 连接到容器内部docker container commit bs busybox:v2 运行的容器bs 增加了内容请 如果想保存,可以用commit 重新生成一个镜像,不过一般不建议这么做 如果要改变镜像可以用dockerfile来改变,以后也会讲dockerfile的使用.docker container cp host_ip.txt bs: