docker学习笔记---基础入门

背景:最近在公司搭建一些公司没有的漏洞环境,接触到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-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:23:03 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:25:29 2018
  OS/Arch:          linux/amd64
  Experimental:     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 信息

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值