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
仓库名、标签均为的镜像称为虚悬镜像(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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云+wordpress搭建个人博客网站【小白专用的图文教程】
【正文】 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1、购买阿里云ECS主机 2、[购买域名](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=f1xavldd) 3、申请备案 4、环境配置 5、安装wordpress 6、域名解析 声明一下,本人对服务器端的知识不是很熟悉,但一心想做个自己的个人网站装一下哔,特此记录一下完整的配置过程,也算是给其他小白们的一剂福利吧。 开发环境: 物理机版本:Win 7 旗舰版(64位) xshell版本:Xshell 5 Build 0806 xftp版本:Xftp 5 Build 0780 wordpress版本:wordpress-4.3.1-zh_CN phpMyAdmin版本:phpMyAdmin-4.5.1-all-languages 备注:以上所有的安装包工具在文章的末尾都附有打包下载,都是从官方下载的,请绝对放心使用,拿走不谢~ 一、购买阿里云ECS服务器: 登录阿里云官方网站,在“产品与服务”中选择云服务器ECS,选择立即购买。运气好的话还能赶...
- 下一篇
网站建设中小企业到底怎么做网站
这篇文章是写给小白,以及对做网站概念模糊的一些中小企业老板的,大神可以略过。 一直以来中小企业老板们都面临一个问题,想要做网站但是无从着手,不知道该从哪里起步,大多数老板会从网上搜索,但是方向不明确导致,大多数老板会选择搜索在前面的几家公司去接受他们的服务,但是大多数后期都会后悔当初的选择。 针对这样的现象有部分企业老板会选择去培训自己的网络知识,也有一部分企业老板会去招聘一个懂网络的来给他管理网络。对于培训中小企业老板完全没有必要,在做网站的整个过程只要你自己心知肚明就不会被骗,培训的课程往往不太适合,聘请网络管理如果企业规模客观的话,这样完全可以。 下来我就给大家讲解下做网站的几个步骤和注意要点(希望能帮到一些人): 怎么选域名 域名选择:国内域名最大的服务商:万网(被阿里收购),新网。其他域名商一般都是他们的代理,但也有做的比较大的比如美橙互联,西部数码。 域名注册:国内一般比较流行的域名都是.com(国际域名),.cn(中国域名),.net一般都是选择这几个后缀结尾的域名。 域名结构:国内常见的结构方式,双拼,三拼,数字,字母,一般选择注册域名位数越少越好(便于自己和网民记住)...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器
- Hadoop3单机部署,实现最简伪集群