docker容器(2)

systemctl start docker
#设置开机自启
systemctl enable docker
#体验docker版nginx最新版
docker run -d -p 80:80 nginx
#体验docker版nginx 1.16
docker run -d -p 81:80 nginx:1.16
#体验wordpress
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql:5.7
docker run -d  --link mysql:mysql -p 86:80 wordpress:5.6


**kali安装docker**



#添加docker的gpg密钥,签名用的
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg |
sudo apt-key add -
#添加docker的apt源
echo ‘deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster
stable’ | sudo tee /etc/apt/sources.list.d/docker.list
#更新apt缓存
apt update
#安装docker
sudo apt-get install docker docker-compose -y

sudo apt-get install docker.io
#安装完成之后,docker就自动启动了
systemctl status docker  
#查看docker版本
docker -v


**镜像常用命令**



docker search
#搜索镜像(只搜索官方仓库的,官方仓库地址:hub.docker.com)

docker search tomcat

docker search apache

我们拉取的镜像tomcat\apache等名字很短对吧,这都是官方仓库中的官方镜像,官方仓库中支持用

户上传自己封装的镜像,用户镜像和官方镜像的差别在名字上面,比如我们可以去docker官方去注册一个账
号,用户自己的镜像前面都会有作者的用户名或者用户所在组织的名字,比如jaden/nginx、
jaden/tomcat等。

docker images
#查看本地镜像列表,image就是图像、镜像的意思

本地有的镜像,就不要再去下载了,而且可以将本地镜像导出来分享给别人

docker pull  
#下载镜像,拉取镜像

docker pull tomcat:latest

docker images

docker push  
#上传镜像,推送镜像,推到官方仓库,推送不是那么简单的,不然早就满了,需要在本地登录一下官方
账号才能推,后面再演示

docker rmi    
#删除镜像,rm image的意思,直接rm不加i表示要删除容器,可以通过名称加版本来删除,或者直接通
过镜像id值来删除
#docker rmi tomcat:latest 或者 docker rmi imageid值
#可以同时删除多个镜像:docker rmi tomcat:latest tomcat:jre17-temurin-jammy
#如果这个镜像处于运行状态的是删除不了的,比如有容器在使用这个镜像,就不能删除镜像,比如
docker rmi nginx:1.16会报错
#查看镜像的运行状态docker container ls,其实这是查看容器的状态,但是可以看到哪些镜像被使
用了

docker save  
#导出镜像(压缩包) docker save 镜像名称:版本 -o docker_nginx1.20.tar.gz
#docker save nginx:1.16 -o docker.nginx1.16.tar.gz
   #ls 就看到了 docker.nginx1.16.tar.gz

docker load  
#导入镜像 docker load -i docker_nginx1.20.tar.gz,会自动解压并导入到docker服务中


**容器的常用命令**



#docker 常见命令
docker run 运行一个新容器
docker ps === docker container ls #参数: 默认之显示up状态的容器,-a查看所有容器,或者–
all
docker stop   停止容器  #例子 docker stop 容器id或者容器名字
docker kill   杀掉容器  #强制关闭容器,尽量不要用,很容易就启动不了了
docker start   启动容器  #例子 docker start 容器id或者容器名字
docker restart 重启重启  #例子 docker restart 容器id或者容器名字
docker rm     删除容器  #例子 docker rm 容器id或者容器名字,同时删除多个,就空格隔开,处
于up状态是不能直接删除的,强制删除是可以删除up状态的容器的,docker rm f 容器名称或者id
docker rm -f docker ps -a -q #删除所有容器,-q是只显示容器id,反引号中的指令优先执行
docker top   查看容器内的进程  #例子docker top 容器id或者容器名字
docker stats 查看容器的资源占用情况
docker exec   进入容器  #例子: docker exec -it 容器id或者容器名字

直接交互指令:docker exec -it 76738703b7b2 ls # 执行ls指令

进入终端:docker exec -it 76738703b7b2 /bin/bash或者/bin/sh #/bin/bash打开一

个终端窗口,exit指令退出终端,但是docker容器内容一般不会安装额外的软件,所以导致大量的指令是用
不了的,比如ifconfig、ps、ip addr等
docker inspect -f ‘{{.Name}} => {{.NetworkSettings.IPAddress }}’ $(docker ps -
aq) #可以查看所有容器的ip地址的,容器的ip地址是从172.17.0.1开始分的。docker容器类似于一个
微型的虚拟机,它占用的都是宿主机(物理机)的资源。在物理机上是可以看到容器所运行的程序的。每个容器
都有自己的ip地址。
docker inspect --format=‘{{.Name}} - {{range .NetworkSettings.Networks}}
{{.IPAddress}}{{end}}’ $(docker ps -aq) | grep “容器名称或者id”

curl -I 加网址,可以看到http响应数据

┌──(root㉿jadenkali)-[/home/jaden]
└─# curl -I http://172.17.0.4
HTTP/1.1 200 OK
Server: nginx/1.23.4

netstat -lntup可以看到给docker的端口映射

docker run -d -p 80:80 nginx #-p 80:80,端口映射,表示宿主机的80端口映射到了nginx容

器的80端口。


网络结构:


![](https://img-blog.csdnimg.cn/direct/8e154e08d98e4105b82614092c6b6453.png)


docker run参数,有很多参数,最后一个肯定是镜像



-d  #放后台运行
-p 端口映射 #例子: -p 宿主机端口:容器端口
–name 指定容器的名字 # docker run -it --name jaden 镜像id或者名称
–link 关联另一个容器 # 了解即可
-e MYSQL_ROOT_PASSWORD #设置容器的一些属性,了解一下即可
-it #是给运行起来的这个容器分配一个终端,就可以进入到容器内部操作了

后面想部署什么,直接网上搜索即可。


**制作docker镜像并上传**
## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**

![img](https://img-blog.csdnimg.cn/img_convert/20cd0e5662c96828e8f0eab1af979ad0.png)

![img](https://img-blog.csdnimg.cn/img_convert/cadb533970a875698ba6625fb479f8a3.png)

![img](https://img-blog.csdnimg.cn/img_convert/92be8b5ef28e3c1368383fc731c64233.png)

![img](https://img-blog.csdnimg.cn/img_convert/f7cfd8dc7942b35648cc0740d44dc0fa.png)

![img](https://img-blog.csdnimg.cn/img_convert/6e14648a7a22f1108878dbd959983790.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

真正的体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值