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 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...
随机推荐
- vue_drf之多级过滤、排序、分页
一.前端代码 1,父组件free_course.vue <template> <div id="free_course"> <el-container ...
- wsgi 协议
wsgi 协议 前言 本来没打算这么早就学习 wsgi 的,因为想要学习python 是如何处理网络请求的绕不开 wsgi,所以只好先学习一下 wsgi.先对 wsgi 有个印象,到了学习 Djang ...
- [转]php中 curl模拟post发送json并接收json
本文转自:https://blog.csdn.net/pangchengyong0724/article/details/52103962 本地模拟请求服务器数据,请求数据格式为json,服务器返回数 ...
- WPF 自定义Command
无参Command: internal class DelegateCommand : ICommand { private readonly Action _execute; private rea ...
- [android] 代码注册广播接收者&利用广播调用服务的方法
利用广播调用服务里面的方法,间接的方式调用服务内部的方法,与现实中差不多,请媒体曝光 主界面里面 在界面创建的时候开启一下服务普通的startService()方法 发送一条广播出去 获取Intent ...
- 如何理解php的依赖注入
之前写过关于php依赖注入的文章..最近发现有的朋友对这个还是理解模糊,在这里我想写个简单的实例帮助朋友们理解下...传统的思路是应用程序用到一个A类,就会创建A类并调用A类的方法,假如这个方法内需要 ...
- springMVC常见错误-解决org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.spring
笔者参考文档: https://blog.csdn.net/sinat_24928447/article/details/47807105 可能错误原因即解决方法: 1.配置文件错误 a)这是配置文件 ...
- Go实现基于WebSocket的弹幕服务
拉模式和推模式 拉模式 1.数据更新频率低,则大多数请求是无效的 2.在线用户量多,则服务端的查询负载高 3.定时轮询拉取,实时性低 推模式 1.仅在数据更新时才需要推送 2.需要维护大量的在线长连接 ...
- router-view在vue2.0中不显示,解决方法
学习的router-view路由一直不显示,我翻看vue文档,花费1个小事终于找到原因,希望我的问题能给初学的同学,带来福音,版本不一样,真的烦 在此总结记录,以免以后在此遇到此问题 //配置路由 c ...
- 【vue】使用vue构建多页面应用
先了解一些单页面和多页面的区别 mm 多页应用模式MPA 单页应用模式SPA 应用构成 由多个完整页面构成 一个外壳页面和多个页面片段构成 跳转方式 页面之间的跳转是从一个页面跳转到另一个页面 页面片 ...