zoukankan      html  css  js  c++  java
  • docker常用命令

    docker常用命令

    杀死所有正在运行的容器

    docker kill $ (docker ps -a -q)

    删除所有已经停止的容器

    docker rm $(docker ps -a -q)

    删除所有未打 dangling 标签的镜像

    docker rmi $(docker images -q -f dangling=true)

    删除所有镜像

    docker rmi $(docker images -q)

    为这些命令创建别名

    ~/.bash_aliases

    杀死所有正在运行的容器.

    alias dockerkill='docker kill $(docker ps -a -q)'

    删除所有已经停止的容器.

    alias dockercleanc='docker rm $(docker ps -a -q)'

    删除所有未打标签的镜像.

    alias dockercleani='docker rmi $(docker images -q -f dangling=true)'

    删除所有已经停止的容器和未打标签的镜像.

    alias dockerclean='dockercleanc || true && dockercleani'

    常用命令

    docker version #查看版本
    docker search tutorial#搜索可用docker镜像
    docker pull learn/tutorial #下载镜像
    docker run learn/tutorial echo "hello word"#在docker容器中运行hello world!
    docker run learn/tutorial apt-get install -y ping#在容器中安装新的程序

    镜像

    保存镜像

    首先使用docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/ping。
    提示:
    1.运行docker commit,可以查看该命令的参数列表。
    2.你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)
    3.无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(译者按:非常类似git里面的版本号)
    正确的命令:
    docker commit 698 learn/ping

    运行新的镜像

    docker run lean/ping ping www.google.com

    检查运行中的镜像>

    现在你已经运行了一个docker容器,让我们来看下正在运行的容器。
    使用docker ps命令可以查看所有正在运行中的容器列表,使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。
    目标:查找某一个运行中容器的id,然后使用docker inspect命令查看容器的信息。提示:可以使用镜像id的前面部分,不需要完整的id。
    正确的命令:
    docker inspect efe

    启动容器

    启动容器并启动bash(交互方式):
    $docker run -i -t image_name/continar_id /bin/bash
    启动容器以后台方式运行(更通用的方式):
    $docker run -d -it image_name
    ps:这里的 image_name 包含了tag:hello.demo.kdemo:v1.0

    附着到容器

    附着到正在运行的容器

    docker attach < id、container_name>
    进入正在运行的容器内部,同时运行bash(比attach更好用)
    docker exec -t -i id container_name /bin/bash
    ps:docker exec是如此的有用,以至于我们通常是将其封装为一个脚本,放到全局可调用的地方,比如,可以写成一个indocker.sh:

    $cat indocker.sh
    docker exec -t -i $1 /bin/bash

    查看需要附着的容器id

    $docker ps | less -S
    CONTAINER ID IMAGE
    9cf7b563f689 hello.demo.kdemo:v160525.202747

    $./indocker.sh 9cf7b563f689

    查看容器日志

    docker logs <id/container_name>
    实时查看日志输出
    docker logs -f <id/container_name> (类似 tail -f) (带上时间戳-t)

    查看容器

    列出当前所有正在运行的container

    $docker ps

    用一行列出所有正在运行的container(容器多的时候非常清晰)

    $docker ps | less -S

    列出所有的container

    $docker ps -a

    列出最近一次启动的container

    $docker ps -l

    显示一个运行的容器里面的进程信息

    $docker top Name/ID

    查看容器内部详情细节:

    $docker inspect <id/container_name>

    在容器中安装新的程序

    $docker run image_name apt-get install -y app_name
    Note: 在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响 应这种交互的。apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。

    从容器里面拷贝文件/目录到本地一个路径

    $docker cp Name:/container_path to_path
    $docker cp ID:/container_path to_path
    保存对容器的修改(commit) 当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。
    $docker commit ID new_image_name
    Note: image相当于类,container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image。

    删除单个容器

    $docker rm Name/ID
    -f, –force=false; -l, –link=false Remove the specified link and not the underlying container; -v, –volumes=false Remove the volumes associated to the container

    删除所有容器

    $docker rm docker ps -a -q
    停止、启动、杀死、重启一个容器
    $docker stop Name/ID
    $docker start Name/ID
    $docker kill Name/ID
    $docker restart name/ID
    操作Image

    列出镜像

    $sudo docker images
    -a, –all=false Show all images; –no-trunc=false Don’t truncate output; -q, –quiet=false Only show numeric IDs

    从dockerhub检索image
    $docker search image_name

    下载image

    $docker pull image_name

    删除一个或者多个镜像;

    $docker rmi image_name
    -f, –force=false Force; –no-prune=false Do not delete untagged parents

    显示一个镜像的历史;

    $docker history image_name

    发布docker镜像

    $docker push new_image_name
    ps:要发布到私有Registry中的镜像,在镜像命名中需要带上Registry的域名(如果非80端口,同时需要带上端口号)比如:

    $docker push dockerhub.yourdomain.com:443/hello.demo.kdemo:v1.0

    拉取docker镜像

    $docker pull image_name

    网络操作

    查看docker0的网络(宿主机上操作)
    $ip a show docker0
    查看容器的IP地址
    $docker inspect -f '{{ .NetworkSettings.IPAddress }}' <id、container_name>
    附着到容器内部查看其内部ip:

    $ip a show eth0
    查看docker基础信息
    查看docker版本

    $docker version

    查看docker系统的信息

    $docker info

  • 相关阅读:
    HDU 1102 Constructing Roads
    HDU 1285 确定比赛名次。
    最小生成树 HDU 各种畅通工程的题,prim和kru的模板题
    HDU Jungle Roads 1301 最小生成树、
    并查集小结(转)
    HDU hdu 2094 产生冠军 拓扑排序 判定环
    模运算(转)
    拓扑排序(主要是确定环和加法) HDU 2647 Reward
    HDU 1372 Knight Moves 简单BFS
    用计算机模型浅析人与人之间沟通方式 (一)如何谈话
  • 原文地址:https://www.cnblogs.com/dyufei/p/7466894.html
Copyright © 2011-2022 走看看