docker基础学习(一)


操作演示:
1、查看一个容器的版本
[root@ELK-chaofeng08 ~]# docker version
Client:
Version: 18.09.
API version: 1.39
Go version: go1.10.8
Git commit: 774a1f4
Built: Thu Feb ::
OS/Arch: linux/amd64
Experimental: false Server: Docker Engine - Community
Engine:
Version: 18.09.
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 774a1f4
Built: Thu Feb ::
OS/Arch: linux/amd64
Experimental: false
[root@ELK-chaofeng08 ~]# docker -v
Docker version 18.09., build 774a1f4
2、查找指定的镜像

3、查看已安装的镜像
[root@ELK-chaofeng08 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 4.0-alpine 83944736833a weeks ago .5MB
busybox latest d8233ab899d4 weeks ago .2MB
nginx 1.14-alpine 66952fd0a8ef weeks ago 16MB
4、从hub.docker.com网站拉取镜像
[root@ELK-chaofeng08 ~]# docker image pull nginx:1.14-alpine
5、拉取busybox
[root@ELK-chaofeng08 ~]# docker image pull busybox
Using default tag: latest
latest: Pulling from library/busybox
Digest: sha256:061ca9704a714ee3e8b80523ec720c64f6209ad3f97c0ff7cb9ec7d19f15149f
Status: Image is up to date for busybox:latest
6、删除一个镜像
[root@ELK-chaofeng08 ~]# docker rmi busybox
Untagged: busybox:latest
Untagged: busybox@sha256:061ca9704a714ee3e8b80523ec720c64f6209ad3f97c0ff7cb9ec7d19f15149f
Deleted: sha256:d8233ab899d419c58cf3634c0df54ff5d8acc28f8173f09c21df4a07229e1205
Deleted: sha256:adab5d09ba79ecf30d3a5af58394b23a447eda7ffffe16c500ddc5ccb4c0222f
7、查看已安装镜像的完整的IMAGE ID
[root@ELK-chaofeng08 ~]# docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 4.0-alpine sha256:83944736833a71a490d842a93ec192d78fbe61063ca8b38d5a2b786f477f20ca weeks ago .5MB
nginx 1.14-alpine sha256:66952fd0a8efa0598626fad89d3a0827bc24fc92c3adb576adbc9fd58606e1af weeks ago 16MB
8、查看容器中运行了哪些服务(包含启动和停止的)
[root@ELK-chaofeng08 ~]# docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fdbb9c2cc7c8 redis:4.0-alpine "docker-entrypoint.s…" minutes ago Up minutes /tcp redis1
77f4d1bb8da9 nginx:1.14-alpine "nginx -g 'daemon of…" minutes ago Up minutes /tcp web1
还要关注STATUS的这个值,这个值显示为Up,表示服务处于启动状态。默认情况下不能看到停止状态的容器,所以需要加上-a参数,即“docker ps -a”来查看STATUS这个值为Exit,表示为关闭状态。
9、启动一个容器
一个容器中只能运行一个镜像,但是可以运行多个容器。
[root@ELK-chaofeng08 ~]# docker container run --name redis2 -d redis:4.0-alpine
68d5b4f366afe5e731112dfb809c8669dd186dbbd6259b59056811345ab1cc4c
在docker run这个过程中,首先是去拉去本地的redis:4.0-alpine这个镜像image,我们刚刚是已经从互联网上拉取过并放在了本地,因此可以直接启动。但是如果docker没有找到本地的镜像image,则会去互联网上下载,然后再运行。其中--name是指定容器的名字,-d是指定运行的镜像,在运行容器之前还有创建容器这个过程。这就是他们启动的过程
10、查看此时运行的容器
[root@ELK-chaofeng08 ~]# docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68d5b4f366af redis:4.0-alpine "docker-entrypoint.s…" minutes ago Up minutes /tcp redis2
77f4d1bb8da9 nginx:1.14-alpine "nginx -g 'daemon of…" minutes ago Up minutes /tcp web1
11、查看已运行的容器的详细信息
[root@ELK-chaofeng08 ~]# docker inspect redis2
12、交互式向容器发送指令
[root@ELK-chaofeng08 ~]# docker exec -it redis2 /bin/ls /etc
TZ init.d network securetty
alpine-release inittab opt services
apk issue os-release shadow
-i表示交互式输入指令。
-t表示分配一个伪终端。
13、查看容器的日志
[root@ELK-chaofeng08 ~]# docker logs web1
172.17.0.1 - - [/Mar/::: +] "GET / HTTP/1.1" "-" "curl/7.29.0" "-"
此容器中运行了一个web服务器,我们可以查看日志
镜像的介绍:





也就是说一个镜像可以有多个tag,但是一个tag只能对应一个镜像。

14、删除镜像
如果要删除镜像,此镜像必须是停止状态,然后需要先删除容器,再删除镜像,如下所示:
[root@ELK-chaofeng08 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db8c95fc5ba8 chen/busybox/httpd:v0. "httpd -f -h /data/h…" minutes ago Up minutes jolly_poitras
[root@ELK-chaofeng08 ~]# docker stop db8c95fc5ba8
db8c95fc5ba8
删除容器
[root@ELK-chaofeng08 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
db8c95fc5ba8 chen/busybox/httpd:v0. "httpd -f -h /data/h…" minutes ago Exited () minutes ago
9fdca18c27b4 chen/busybox/httpd:v0. "httpd -f -h /data/h…" minutes ago Exited () minutes ago
68d5b4f366af redis:4.0-alpine "docker-entrypoint.s…" hours ago Exited () About an hour
fdbb9c2cc7c8 redis:4.0-alpine "docker-entrypoint.s…" hours ago Exited () hours ago
77f4d1bb8da9 nginx:1.14-alpine "nginx -g 'daemon of…" hours ago Exited () About an hour
[root@ELK-chaofeng08 ~]# docker container rm 9fdca18c27b4
9fdca18c27b4
[root@ELK-chaofeng08 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
chen/busybox/httpd v0. 2a906703e3da minutes ago .2MB
chen/busybox/httpd v0. b17250b566ae minutes ago .2MB
redis 4.0-alpine 83944736833a weeks ago .5MB
busybox latest d8233ab899d4 weeks ago .2MB
nginx 1.14-alpine 66952fd0a8ef weeks ago 16MB
quay.io/coreos/flannel v0.10.0-amd64 f0fad859c909 months ago .6MB
[root@ELK-chaofeng08 ~]# docker image rm b17250b566ae
Untagged: chen/busybox/httpd:v0.
Deleted: sha256:b17250b566aeeaa99a1e0850717d56b018d846cf6f27253a72ced90eb60912c3
Deleted: sha256:2b0eba4397e6216f884be40579b35e0e950211bf8a751552f889a6a3200b5ed4
[root@ELK-chaofeng08 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
chen/busybox/httpd v0. 2a906703e3da minutes ago .2MB
redis 4.0-alpine 83944736833a weeks ago .5MB
busybox latest d8233ab899d4 weeks ago .2MB
nginx 1.14-alpine 66952fd0a8ef weeks ago 16MB
quay.io/coreos/flannel v0.10.0-amd64 f0fad859c909 months ago .6MB
删除镜像成功。
docker基础学习(一)的更多相关文章
- 【补充】docker基础学习
docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...
- Docker 基础学习(一)
Docker官网:https://docker.com/ 中文翻译非常好的学习地址:http://dockerpool.com/static/books/docker_practice/index.h ...
- [Docker] docker 基础学习笔记3(共6篇)
首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...
- [Docker] docker 基础学习笔记2(共6篇)
febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个. 安装还是挺方便的. yum -y install febootstrap febootstrap -i ...
- Docker基础学习相关网址
中文学习地址:https://yeasy.gitbooks.io/docker_practice/content/ 官网介绍地址:https://www.docker.com 官网学习地址:https ...
- [Docker] docker 基础学习笔记6(共6篇)
这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置 首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...
- [Docker] docker 基础学习笔记5(共6篇)
docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker 现在比如我自己电脑上已经装好了docker,但 ...
- [Docker] docker 基础学习笔记1(共6篇)
巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源. 从163的网址里边下载好 ...
- docker基础学习
docker的定义: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...
随机推荐
- Python中的数据结构
Python中的数据结构 这里总结一下Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,涵盖的仅有部分重点,详细地 ...
- javase基础回顾(三) 动态代理
动态代理是大型框架中经常用到的经典的技术之一,博主在理解spring的控制反转(依赖注入)的思想时回头着重复习了一下java的动态代理. 在说动态代理之前我们先简单说一说代理是用来干什么的,用于什么样 ...
- 最近公共祖先(least common ancestors,LCA)
摘要: 本文主要介绍了解决LCA(最近公共祖先问题)的两种算法,分别是离线Tarjan算法和在线算法,着重展示了在具体题目中的应用细节. 最近公共祖先是指对于一棵有根树T的两个结点u和v,它们的LCA ...
- Python 通过 SMTP 发送邮件
Python版本:Python3.5.2 简介 SMTP是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件.HTML 邮件以及带附件的邮件. Python 对 SMTP 支持 ...
- [转]BTC RPC API GetTransaction
本文转自: GetTransaction GetTransaction gettransaction调用获取指定钱包内交易的详细信息.该调用需要节点 启用钱包功能. 参数 TXID:要查看详情的交易I ...
- 第一册:lesson sixty three。
原文: Thank you docter. A:How's Jim today? B:Better, thank you docter. A:Can I see him ,please? B:Cert ...
- .Net Core 项目中添加统一的XSS攻击防御过滤器
一.前言 最近公司内部在对系统的安全进行培训,刚好目前手里的一个.net core 项目中需要增加预防xss的攻击,本文将大概介绍下何为XSS攻击以及在项目中如何统一的预防XSS攻击. 二.XSS简介 ...
- js之单例模式
单例模式是指一个类,只有一个实例.实现的思路是,创建实例时候加判断,如果有实例则返回,如果没有就new一个,并返回. 第一步: 创建类. function Waiter(id, name, salar ...
- 带你了解源码中的 ThreadLocal
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 这次想来讲讲 ThreadLocal 这个很神奇的东西,最开始接触到这个是看了主席的<开发艺术探索>,后来是在研究 Vi ...
- 微信小程序 JS 获取View 和 屏幕相关属性(高度、宽度等等)
wx.getSystemInfo({success: function (res) {thisWidth = res.windowWidth;}}); that.setData({view_Width ...