背景:最近在公司搭建一些公司没有的漏洞环境,接触到docker可以拉取一些公共的漏洞镜像环境,对于搭建漏洞环境很方便,因此学习了下docker的一些入门知识,一些常用的命令分享出来,共勉!
一.认识docker
Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。
docker的三个概念:
1.镜像(Image):镜像是静态的、可以被用户互相分享的文件,是静态的,你不能对他操作,只能pull别人的镜像或者push自己的镜像。
2.容器(Container):容器可以理解为镜像的动态状态。
3.仓库(Repository):Docker中的仓库很像git的代码仓库,你可以pull自己之前push到自己仓库的镜像到本地,也可以pull别人push到公共仓库的镜像到自己本地。
docker官方网站:https://hub.docker.com/swarm/sgyzetrov/dashboard/onboarding/cloud-registry,进来后可以创建自己的用户和密码,后续往仓库push自己的制作的镜像环境
二.下来是常用到的docker命令:
1.查看Docker版本信息:docker version或者docker -v

[root@project-1 ~]# docker version
Client:Version:           18.06.1-ceAPI version:       1.38Go version:        go1.10.3Git commit:        e68fc7aBuilt:             Tue Aug 21 17:23:03 2018OS/Arch:           linux/amd64Experimental:      falseServer:Engine:Version:          18.06.1-ceAPI version:      1.38 (minimum version 1.12)Go version:       go1.10.3Git commit:       e68fc7aBuilt:            Tue Aug 21 17:25:29 2018OS/Arch:          linux/amd64Experimental:     false
[root@project-1 ~]# docker -v
Docker version 18.06.1-ce, build e68fc7a

2.拉取镜像:pull
比如我这边拉去了一个web漏洞环境:

$ docker pull medicean/vulapps:t_thinkphp_2

3.拉完之后我们可以使用:docker images查看拉取到的镜像

[root@project-1 ~]# docker images
REPOSITORY                     TAG                  IMAGE ID            CREATED             SIZE
ubuntu                         latest               1d622ef86b13        7 weeks ago         73.9MB
ibmcom/websphere-traditional   latest               61b62b82d86c        7 months ago        1.79GB
bash                           latest               d97778c0b68a        16 months ago       15.1MB
medicean/vulapps               t_thinkphp_2         dc810b8fd762        18 months ago       120MB
tomcat                         latest               78b258e36eed        19 months ago       463MB
redis                          4.0                  e1a73233e3be        21 months ago       83.4MB
postgres                       9.6                  01e1fdb168a4        21 months ago       229MB
devilbox/php-fpm               7.2-work-0.37        f4d1aa9ee532        21 months ago       1.59GB
devilbox/nginx-stable          0.22                 e830a700e3db        22 months ago       141MB
mongo                          3.7                  3db1239d511b        23 months ago       365MB
wnameless/oracle-xe-11g        latest               698cc7361de4        2 years ago         2.13GB
cytopia/bind                   0.15                 ff37cf218d55        2 years ago         142MB
medicean/vulapps               t_thinkphp_1         16e68bcb9bd2        2 years ago         662MB
cytopia/mariadb-10.1           latest               cadf2d610e84        2 years ago         1.22GB
memcached                      1.5.5                9a7e8440a999        2 years ago         58.6MB
medicean/vulapps               s_struts2_s2-053     91603dee10fd        2 years ago         298MB
medicean/vulapps               s_ssh_1              bad7f611ab68        2 years ago         650MB
medicean/vulapps               n_nginx_1            5b3c1b10c3ba        2 years ago         186MB
medicean/vulapps               p_phpmailer_1        99a25f4ba472        3 years ago         279MB
medicean/vulapps               z_zabbix_2           40ac79ad6fa3        3 years ago         534MB
medicean/vulapps               b_bash_shellshock2   c5a3ea9cefef        3 years ago         406MB
medicean/vulapps               s_struts2_s2-045     91e11663ae7c        3 years ago         347MB
ibmcom/db2express-c            latest               7aa154d9b73c        5 years ago         1.71GB

4.启动镜像:docker run

docker run -d -p 80:80 medicean/vulapps:t_thinkphp_2

5.查询并删除所有容器:

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

6.查询并删除所有images:

```powershell
docker rmi `docker images -q`
或者
docker rmi $(docker images -q)
或者
docker rmi $(docker images -q) -f

7.启动容器:docker start 容器Id

[root@project-1 ~]# docker start 5022d636e74b
5022d636e74b

8.停止容器:docker stop 容器id

[root@project-1 ~]# docker stop 5022d636e74b
5022d636e74b

9.重启容器;docker restart 容器id

[root@project-1 ~]# docker restart 5022d636e74b
5022d636e74b

10.进入容器:docker attach 容器id 或者docker exec -it 容器id /bin/bash

[root@project-1 ~]# docker ps
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
5022d636e74b        medicean/vulapps:n_nginx_1          "/start.sh"              22 hours ago        Up About an hour    0.0.0.0:8667->80/tcp                         confident_bhabha
9839a55d6412        medicean/vulapps:t_thinkphp_2       "docker-php-entrypoi…"   22 hours ago        Up 22 hours         0.0.0.0:8666->80/tcp                         practical_ritchie
6d243503de7f        cytopia/bind:0.15                   "/docker-entrypoint.…"   7 weeks ago         Up 22 hours         0.0.0.0:1053->53/tcp, 0.0.0.0:1053->53/udp   devilbox_bind_1
2d54fad04f57        medicean/vulapps:s_struts2_s2-045   "/usr/local/tomcat/b…"   2 months ago        Up 2 hours          0.0.0.0:10013->8080/tcp                      vibrant_shannon
c62c4ba70a46        medicean/vulapps:t_thinkphp_1       "/start.sh"              3 months ago        Up 2 hours          443/tcp, 0.0.0.0:10001->80/tcp               modest_raman
[root@project-1 ~]# docker exec -it 5022d636e74b /bin/bash
root@5022d636e74b:/tmp#

求助:我的环境不知道为什么使用docker attach命令进不去,有知道的大神解释下为什么?

11.退出容器:exit (容器退出,没有在后台运行)或者ctrl+p(容器其实在运行,后台运行)12.删除容器或者镜像:docker rm 容器id  docker rmi 镜像id```powershell
docker rm container_id
docker rmi image_id

13.将环境推到仓库:docker push 镜像

docker push sgy/ubuntu:vim

14.将自己的环境,推到仓库以供其他人使用:docker commit -m “ubuntu with vim” -a “用户名” 容器Id sgy/ubuntu:vim

docker commit -m "ubuntu with vim" -a "smith" aa97ba3292ce smith/ubuntu:vim

备注:其中,-m指定说明信息;-a指定用户信息;aa97ba3292ce代表容器的id;smith/ubuntu:vim指定目标镜像的用户名、仓库名和 tag 信息

以上待续,今日もやる気まんまんだよ!!!

docker学习笔记---基础入门相关推荐

  1. 经典再现,看到就是赚到。尚硅谷雷神 - SpringBoot 2.x 学习笔记 - 基础入门篇

    SpringBoot 2.x 时代 – 基础入门篇 视频学习地址:https://www.bilibili.com/video/BV1Et411Y7tQ?p=112&spm_id_from=p ...

  2. web安全学习笔记--基础入门

    一.名词 1.DNS(域名系统):将域名和IP地址相互映射的一个分布式数据库,便于用户访问:UDP/TCP端口为53,利用cmd中ping命令可以查看域名所对应的ip号 2.CDN(内容分发网络):将 ...

  3. 狂神 Docker学习笔记 从基础到进阶 一步到位

    Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...

  4. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  5. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  6. Redis学习笔记①基础篇_Redis快速入门

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...

  7. 十分钟了解Docker(我的Docker学习笔记)

    Docker学习笔记 碎碎念 背景知识 Docker是什么 Docker有什么用 Docker原理 Docker实践 Install Docker Engine on Ubuntu 常用命令操作实践 ...

  8. Spring Boot学习笔记-基础(2)

    Spring Boot学习笔记-基础(2) Spring Boot 优点: – 快速创建独立运行的Spring项目以及与主流框架集成 – 使用嵌入式的Servlet容器,应用无需打成WAR包 – st ...

  9. Docker学习笔记 之 Docker安装配置使用

    简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare met ...

最新文章

  1. 第一课.Linux系统的介绍与ubuntu虚拟机安装
  2. 机会与挑战:2019人工智能应用趋势预测
  3. swiper4自动轮播切换手动触碰后停止踩坑——属性disableOnInteraction
  4. Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩。
  5. java课程设计图片浏览器_java课程设计图片浏览器
  6. 【中间件】消息队列-RabbitMQ
  7. Android 应用内直接跳转酷市场
  8. LeetCode 2019 力扣杯全国秋季编程大赛
  9. 它有许多功能的局域网
  10. MySQL经典练习50题
  11. 在Linux上安装chisel bootcamp遇到的各种问题
  12. win10录屏软件推荐 Ocam
  13. php淘口令,淘口令使用说明
  14. 2021-2027全球与中国大数据工程服务市场现状及未来发展趋势
  15. 查询oracle中所有的用户,如何查询Oracle中所有用户信息
  16. 发表微信朋友圈不带图片怎么发
  17. 植物大战僵尸自动拾取阳光
  18. 在django的form表单及ajax提交的数据中添加认证的csrfmiddlewaretoken
  19. 微信自定义分享--失效问题
  20. 小米官宣:手表Color 2来了,6色多彩表带,你喜欢哪个?

热门文章

  1. C语言中extern用法详解
  2. 如何下载打印计算机二级准考证(江西)
  3. matlab gui下拉列表,MATLAB制作GUI(3)-下拉列表的实现
  4. Service Principal 介绍
  5. vbs脚本在服务器上虚拟按键,怎么用VBS代码实现模拟键盘按键?
  6. Jetpack Room 使用及原理解析
  7. !!!---1588|Sum of All Odd Length Subarrays(新)
  8. android google map 标记,android,在googlemap上从位图添加标记
  9. Linux内核的配置和编译
  10. KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍