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-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学习笔记---基础入门相关推荐
- 经典再现,看到就是赚到。尚硅谷雷神 - SpringBoot 2.x 学习笔记 - 基础入门篇
SpringBoot 2.x 时代 – 基础入门篇 视频学习地址:https://www.bilibili.com/video/BV1Et411Y7tQ?p=112&spm_id_from=p ...
- web安全学习笔记--基础入门
一.名词 1.DNS(域名系统):将域名和IP地址相互映射的一个分布式数据库,便于用户访问:UDP/TCP端口为53,利用cmd中ping命令可以查看域名所对应的ip号 2.CDN(内容分发网络):将 ...
- 狂神 Docker学习笔记 从基础到进阶 一步到位
Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...
- Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)
文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
- Redis学习笔记①基础篇_Redis快速入门
若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...
- 十分钟了解Docker(我的Docker学习笔记)
Docker学习笔记 碎碎念 背景知识 Docker是什么 Docker有什么用 Docker原理 Docker实践 Install Docker Engine on Ubuntu 常用命令操作实践 ...
- Spring Boot学习笔记-基础(2)
Spring Boot学习笔记-基础(2) Spring Boot 优点: – 快速创建独立运行的Spring项目以及与主流框架集成 – 使用嵌入式的Servlet容器,应用无需打成WAR包 – st ...
- Docker学习笔记 之 Docker安装配置使用
简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare met ...
最新文章
- 第一课.Linux系统的介绍与ubuntu虚拟机安装
- 机会与挑战:2019人工智能应用趋势预测
- swiper4自动轮播切换手动触碰后停止踩坑——属性disableOnInteraction
- Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩。
- java课程设计图片浏览器_java课程设计图片浏览器
- 【中间件】消息队列-RabbitMQ
- Android 应用内直接跳转酷市场
- LeetCode 2019 力扣杯全国秋季编程大赛
- 它有许多功能的局域网
- MySQL经典练习50题
- 在Linux上安装chisel bootcamp遇到的各种问题
- win10录屏软件推荐 Ocam
- php淘口令,淘口令使用说明
- 2021-2027全球与中国大数据工程服务市场现状及未来发展趋势
- 查询oracle中所有的用户,如何查询Oracle中所有用户信息
- 发表微信朋友圈不带图片怎么发
- 植物大战僵尸自动拾取阳光
- 在django的form表单及ajax提交的数据中添加认证的csrfmiddlewaretoken
- 微信自定义分享--失效问题
- 小米官宣:手表Color 2来了,6色多彩表带,你喜欢哪个?
热门文章
- C语言中extern用法详解
- 如何下载打印计算机二级准考证(江西)
- matlab gui下拉列表,MATLAB制作GUI(3)-下拉列表的实现
- Service Principal 介绍
- vbs脚本在服务器上虚拟按键,怎么用VBS代码实现模拟键盘按键?
- Jetpack Room 使用及原理解析
- !!!---1588|Sum of All Odd Length Subarrays(新)
- android google map 标记,android,在googlemap上从位图添加标记
- Linux内核的配置和编译
- KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍