Docker基本命令使用详解(推荐)

因为工作中需要将服务容器化,所以最近开始学习Docker相关的知识,对于Docker入门常用的命令总结如下:

1. 运行容器

$ sudo docker run -i -t ubuntu /bin/bash

-i 标志保证容器中的STDIN是开启的
-t 标志告诉Docker为要创建的容器分配一个伪tty终端
ubuntu 表示我们创建容器使用的镜像
/bin/bash 表示当容器创建完成之后,Docker就会执行容器中的/bin/bash命令

2. 给容器命名

$ sudo docker run --name my_container -i -t ubuntu /bin/bash

--name为容器指定一个名称,使用指定的容器名称比使用容器ID更方便。

3. 重新启动已停止的容器

#使用容器ID启动容器
$ sudo docker start f5a9f05f4214
#使用容器名称启动容器
$ sudo docker start my_container
$ sudo docker restart my_container

除了容器ID,我们还可以使用容器名称来运行容器,也可以用`docker restart`命令来重新启动一个容器,运行以上命令,使用`sudo docker ps`就可以看到我们的容器已经开始运行了。

4. 附着到容器上

$ sudo docker attach my_container

Docker容器重新启动的时候,会沿用`docker run`命令时制定的参数来运行,因此我们的容器重新启动后会运行一个交互式的shell,此外可以用`docker attach`命令重新附着到该容器的会话上。
运行命令之后可以需要按下回车键才能进入该会话,如果退出容器的shell,容器会再次停止运行。

5. 创建守护式容器

$ sudo docker run --name my_container -d ubuntu /bin/bash

-d 标志Docker会将容器放到后台运行

`docker exec`命令会在容器内部额外启动新进程,可以在容器内运行的进程有两种类型:后台任务和交互式任务。
#在容器中运行后台任务
$ sudo docker exec -d my_container touch /etc/new_config_file
#在容器内运行交互式任务
$ sudo docker exec -t -i my_container /bin/bash

6.停止守护式容器

#通过容器名称停止正在运行的容器
$ sudo docker stop my_container
#通过容器ID停止正在运行的容器
$ sudo docker stop f5a9f05f4214
#停止容器进程
$ sudo docker kill f5a9f05f4214

如果想快速停止某个容器,使用`docker kill`命令在向容器发送停止信号。

7.自动重启容器

$ sudo docker run --restart=always --name my_container -d ubuntu /bin/bash
--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
--restart的参数说明
always:无论容器的退出代码是什么,Docker都会自动重启该容器。
on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。

8. 删除容器

#根据容器标识删除容器
$ sudo docker rm my_container
$ sudo docker rm f5a9f05f4214

如果容器已经不再使用,可以使用`docker rm`命令来删除他们,也可以通过给`docker rm`传递-f标志来删除运行中的Docker容器(Docker 1.6.2+)。

#删除所有容器
$ sudo docker rm `docker ps -a -q`

`docker ps`命令会列出现有的全部正在运行的容器信息
-a 标志代表列出所有容器,包括运行的和已经停止的
-q 标志表示只需要返回容器的ID而不会返回容器的其他信息

9. 查看容器信息

#查看容器信息
$ sudo docker ps
#通过docker inspect来获得更详细的容器信息
$ sudo docker inspect my_container

以上所述是小编给大家介绍的Docker基本命令使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 常用的Docker基本命令及用法汇总

    查看docker安装信息 docker info 获取docker镜像 docker pull azraelrabbit/monupw 创建docker容器 docker run --name monojexus -d -p 32022:22 -p 32080:80 -v /mydata:/data azraelrabbit/monupw 以后台进程的方式运行docker容器 sample_job=$(docker run -d monojexus /bin/sh -c "while true;

  • Docker基础命令详解

    docker基本概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上. Docker是一个重新定义了程序开发测试.交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的"Build once,Run anywhere" 创建镜像 创建镜像的方法有三种: 基于已有的容器创建 基于本地模板导入 基于dockerfile 基于已有的容器创建 主要使用docker

  • Docker 常用命令整理并介绍

    什么是Docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack 集群和其他的基础应用平台. Docker通常用于如下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环境中部署和调整数据库或其他的后台应用: 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的P

  • 详解修改docker时区及docker常用命令

    前几天遇到这样一个业务场景,数据库运行在docker 中,docker 的市区是utc 所以就跟北京时间相差8个小时.但是又不能重新运行一个容器,只能保证数据库运行状态,并把宿主机的时区复制给docker 容器.很苦恼, 首先我先把宿主机的时区改成啦CST 北京时间.然后把宿主机的时区复制给docker 容器.命令如下 docker cp /etc/localtime:[容器ID或者NAME]/etc/localtime 当然也可以进入容器进行修改时区(不过我的容器修改的时候总是报/etc/lo

  • Docker常用的清除容器镜像命令小结

    前言 Docker 是一个非常有趣的项目.它自己宣称可以减轻部署服务器的难度,当然我相信里面有炒作的成分.但是实际使用后,我觉得 Docker 的表现还是可圈可点的.这篇文章主要总结了Docker清除容器镜像常用的命令,下面来一起看看吧. 杀死所有running状态的容器 docker kill $(docker ps -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有\'untagged/dangling\' ()状态的镜像 docker rmi

  • Docker基本命令使用详解(推荐)

    因为工作中需要将服务容器化,所以最近开始学习Docker相关的知识,对于Docker入门常用的命令总结如下: 1. 运行容器 $ sudo docker run -i -t ubuntu /bin/bash -i 标志保证容器中的STDIN是开启的 -t 标志告诉Docker为要创建的容器分配一个伪tty终端 ubuntu 表示我们创建容器使用的镜像 /bin/bash 表示当容器创建完成之后,Docker就会执行容器中的/bin/bash命令 2. 给容器命名 $ sudo docker ru

  • Ubuntu下安装配置Docker的教程详解

    获取Docker 1.准备 Docker要求64位Linux且内核版本在3.10以上,在终端里输入uname -r查看,如图: 接下来更新源并查看是否有https方法: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates 2.添加key 输入以下命令添加GPG key: sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net

  • Python中的Django基本命令实例详解

    一.新建项目 $django-admin.py  startproject  project_name # 特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试 注意 project_name 是自己的项目名称,需要为合法的 Python 包名,如不能为 1a 或 a-b. 二.新建APP 要先进入项目目录下,cd project_name 然后执行下面的命令: $ python manage.py startapp app_nam

  • Docker探索namespace详解

    Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过写时复制(copy-on-write)实现了高效的文件操作. 1.namespace资源隔离 namepsace的6项隔离: namespace 系统调用参数 隔离内容 UTS CLONE_NEWUTS 主机名与域名 IPC CLONE_NEWIPC 信号量,消息队列和共享内存 PID CLONE_NEWPID 进程编号 Network CLONE_NEWNET 网络设备,网络栈,端口等 Mount CLON

  • jQuery中each()、find()和filter()等节点操作方法详解(推荐)

    1.each(callback) 官方解释: 返回值:jQuery 概述 以每一个匹配的元素作为上下文来执行一个函数. 意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素).而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型). 返回 'false' 将停止循环 (就像在普通的循环中使用 'break').返回 'true' 跳至下一个循环(就像在普通的循环中使用'

  • 基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象.java默认的分隔符是"空格"."制表符('\t')"."换行符('\n')"."回车符('\r')". StringTokenizer(String str,String delim)

  • MySQL常用时间函数详解(推荐)

    2.6 DATE_SUB/DATE_ADD DATE_SUB(date,INTERVAL expr type) date 参数是合法的日期表达式.expr 参数是您希望添加的时间间隔. SELECT id FROM my_table WHERE create_time >= date_sub(now(), INTERVAL 3 HOUR) AND create_time < now(); Type 值 •MICROSECOND •SECOND •MINUTE •HOUR •DAY •WEEK

  • jenkins构建Docker 镜像实例详解

     jenkins构建Docker 镜像实例详解 前言:jenkins有Docker镜像,而之前我们说过使用jenkins打包Docker镜像,那么可否用jenkins的Docker镜像打包Docker镜像呢? 环境: CentOS 7     Docker 1.10.3 1.本机安装docker环境,并配置TCP访问接口 # vi /usr/lib/systemd/system/docker.service 修改ExecStart为: ExecStart=/usr/bin/docker daem

  • $.ajax()常用方法详解(推荐)

    AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分.接下来通过本文给大家介绍ajax一些常用方法,大家有需要可以一起学习. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆

随机推荐