Docker入门-常用命令

Docker镜像操作

Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像。

获取镜像

从Docker镜像仓库获取镜像的命令是docker pull。其命令格式为:

docker pull [选项][Docker Registry地址[:端口号]/]仓库名[:标签]

具体的选项可以通过docker pull --help命令看到,这里我们说一下镜像名称的格式。Docker镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是Docker Hub。仓库名:如之前所说,这里的仓库名是两段式名称,即<用户名>/<软件名>。对于Docker Hub,如果不给出用户名,则默认为library,也就是官方镜像。

docker pull ubuntu:16.04

上面的命令中没有给出Docker镜像仓库地址,因此将会从Docker Hub获取镜像。而镜像名称是ubuntu:16.04,因此将会获取官方镜像library/ubuntu仓库中标签为16.04的镜像。

运行镜像

有了镜像后,我们就能够以这个镜像为基础启动并运行一个容器。以上面的ubuntu:16.04为例,如果我们打算启动里面的bash并且进行交互式操作的话,可以执行下面的命令。

docker run -it --rm ubuntu:16.04 bash

-it:这是两个参数,一个是-i:交互式操作,一个是-t终端。

--rm:这个参数是说容器退出后随之将其删除

ubuntu:16.04:这是指用ubuntu:16.04镜像为基础来启动容器。

bash:放在镜像名后的是命令,这里我们希望有个交互式shell,因此用的是bash。

最后我们通过exit退出了这个容器。

列出镜像

要想列出已经下载下来的镜像,可以使用docker image ls命令。列表包含了仓库名、标签、镜像ID、创建时间以及所占用的空间。

docker image ls

查看镜像、容器、数据卷所占用的空间。

docker system df

仓库名、标签均为<none>的镜像称为虚悬镜像(dangling image),显示这类镜像

docker image ls -f dangling=true

一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除

docker image prune

删除本地镜像

如果要删除本地的镜像,可以使用docker image rm命令,其格式为:

docker image rm [选项] <镜像1>[<镜像2>...]

其中,<镜像>可以是镜像短ID、镜像长ID、镜像名或者镜像摘要。

使用docker image ls -q来配置docker image rm,这样可以批量删除希望删除的镜像。

docker image rm $(docker image ls -q ubuntu) #删除所有仓库名为redis的镜像

或者删除所有在ubuntu:16.04之前的镜像:

docker image rm $(docker image ls -q -f before=ubuntu:16.04)

Docker容器操作

容器是独立运行的一个或一组应该,以及它们运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。

启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。

因为Docker的容器实是轻量级的,用户可以随时删除和新创建容器。

新建并启动

docker run

输出一个“Hello World”,之后终止容器。

docker run ubuntu:16.04 /bin/echo "Hello world"

启动已终止容器

docker container start 或者 docker start

启动一个bash终端,允许用户进行交互。

docker run -t -i ubuntu:16.04 /bin/bash

-t 让Docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。当利用docker run来创建容器时,Docker在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个ip地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

后台运行

很多时间,需要让Docker在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加-d参数来实现。

如果不使用-d参数运行容器,比如docker run hello-world会把日志打印在控制台。
如果使用-d参数运行容器,比如docker run -d hello-world不会输出日志,只会打印容器id(输出结果可以用docker logs查看);

注:容器是否会长久运行,是和docker run指定的命令有关,和-d参数无关。

停止运行的容器

可以使用docker container stop来终止一个运行中的容器。终止状态的容器可以用docker container ls -a 命令看到。处于终止状态的容器,可以通过docker container start命令来重新启动。此处,docker container restart命令会将一个运行态的容器终止,处于再重新启动它。

进入容器

在使用-d参数时,容器启动后进入后台,某些时候需要进入容器进行操作,使用docker exec命令可以进入到运行中。

exec命令 -i -t参数

docker exec后边可以跟多个参数,这是主要说明 -i -t参数。
只用-i参数时,由于没有分配伪终端,界面没有我们熟悉的Linux命令提示符,但命令执行结果仍然可以返回。当-i -t参数一起使用时,则可以看到我们熟悉的Linux命令提示符。

docker exec -it 容器id /bin/bash

导出和导入容器

导出容器

如果要导出本地某个容器,可以使用docker export命令。

docker export 容器ID>导出文件名.tar

导入容器

可以使用docker import从容器快照文件中再导入为镜像

cat 导出文件名.tar|docker import - 镜像用户/镜像名:镜像版本

此外,也可以通过指定URL或者某个目录来导入

docker import http://study.163.com/image.tgz example/imagerepo

删除容器

删除容器

可以使用docker container rm来删除一个处于终止状态的容器

docker container rm ubuntu:16:04

如果要删除一个运行中的容器,可以添加-f参数。Docker会发送SIGKILL信号给容器。

清楚所有处于终止状态的容器

用docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可以会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。

docker container prune

原文地址:https://blog.51cto.com/flowstone/2429590

时间: 2024-10-08 21:03:15

Docker入门-常用命令的相关文章

docker入门-常用命令和网络

一.常用命令 容器生命周期管理 run     运行一个容器 start/stop/restart  启动/停止/重启 kill   杀死一个容器 rm  删除一个容器 pause/unpause create exec  运行一个命令 容器操作 ps   查看当前容器 inspect  描述容器 top  查看容器进程 attach events logs  查看日志 wait export port  查看端口 容器rootfs命令 commit  修改一个镜像 cp  拷贝一个外部文件到容

CentOS 7安装Docker及常用命令

CentOS 7安装Docker及常用命令   yum install docker #安装docker systemctl start docker.service #启动docker systemctl enable docker.service #docker开机启动 docker -v #查看docker版本 docker info #查看docker具体信息 docker pull centos #下载centos image docker images #显示已有image dock

开发者必备丨Docker客户端常用命令分享

学习Docker,首先需要了解Docker基本概念,我们在以前的文章中介绍过docker的基本原理和部署操作系统. 今天讲下嵌入式开发中docker客户端常用的命令,开始进入“动手”阶段(也就是敲Docker命令).Docker命令较多,这里笔者总结下常用的Docker命令,方便小伙伴们查阅. 客户端常用命令列表 以下为Docker 客户端常用命令列表,可以通过docker COMMAND --help来查看这些命令的具体用法. attach:依附到一个正在运行的容器中: build :从一个D

Docker之常用命令(二)

这篇博客就不扯皮了,简单粗暴地贴上自己整理的一份Docker常用命令. docker search ** // 查找镜像 docker pull nginx // 载入镜像 # -a 拉取所有tagged镜像 # --disable-content-trust 忽略镜像的校验,默认开启 docker create // 创建一个容器但不启动它 run docker run -d -P -it --name mynginx nginx # -t 在新容器内指定一个伪终端 # -i 允许对容器内的标

docker 容器常用命令

1 启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动. 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器. 新建并启动 所需要的命令主要为 docker run 例如,下面的命令输出一个 "Hello World",之后终止容器. [[email protected] ~]# docker run docker.io/centos:v1 /bin/echo "hello wor

ethereum入门-常用命令示例(包括创建用户、挖矿、交易等)

ethereum常用命令示例 用户管理 打开控制台 $ geth --datadir=path/to/custom/data/folder attach --datadir"~/.ethereum"数据库和密钥库的数据目录 创建账户,参数是密码在控制台输入下面命令: > personal.newAccount("Write here a good, randomly generated, passphrase!")"0x0fec688d601909d

docker 的常用命令

本文章仅简单介绍下docker下各个命令,至于各个命令的使用方法和参数后续进行详细描述.首先docker主要有几个组件:仓库,镜像,网络及容器及dockfile文件.一.仓库docker默认的仓库指向是 Docker Hub,当然用户也可以登陆到自己的其他仓库,仓库的主要作于是存放镜像,用户可以将自己的镜像上传到仓库中也可以从仓库中下载镜像.仓库类命令主要有:1.login:登陆指定的仓库2.logout:退出指定的仓库二.镜像docker中的镜像主要只运维服务的模板,或者框架,正常来说通过运行

docker学习-常用命令1

一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb01 1.2 Docker kill 命令,杀掉一个运行中的容器.OPTIONS说明: -s :向容器发送一个信号 例:杀掉运行中的容器mydb01# docker kill -s KILL mydb01 1.3 Docker rm 命令,删除一个或多少容器OPTIONS说明: -f :通过SIGK

docker学习-常用命令2

三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明文字: -p :在commit时,将容器暂停. 实例:将容器6h04c6c178u7 保存为新的镜像,并添加提交人信息和说明信息.# docker commit -a "xliang" -m "web_db" 6h04c6c178u7 sql:v1 # docker i