docker系统详解哟 以及相关命令 Centos Kali安装相关详解 Docker-Compose 亲测

目录

[who Is Docker](#who Is Docker)

概念

[centos7 安装docker](#centos7 安装docker)

kali安装docker

docker安装nginx

Docker常用命令

容器得常用命令

[Docker-Compose install](#Docker-Compose install)

常用docker-compose命令


who Is Docker

  • 软件的打包技术,就是将算乱的多个文件打包为一个整体,打包技术在没有docker容器之前。

  • ++容器技术就诞生了,容器技术中的佼佼者,就是docker++,它的底层实现原理我们现在不用纠结。用它来打包出来的软件,体积会非常小。

    • 比如如果在一个虚拟机上安装了nginx,那么这个虚拟机怎么也要1G以上,但是用docker打包的已经安装好的nginx,可能也就100M左右,体积小很多。

概念

  • 镜像:

    • images

    • ++是个压缩包文件,里面存放着安装好的程序++

  • 容器:

    • Container,Docker利用容器来运行应用。

    • 容器是从镜像创建的运行实例

      • 它可以被启动、开始、停止、删除。

      • 每个容器都是相互隔离的、保证安全的平台

centos7 安装docker

# centos7上面用yum安装
yum install docker -y
#启动docker
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安装nginx

#体验docker版nginx最新版,本地没有nginx镜像的话,会自动去仓库中拉去镜像并运行
docker run -d -p 80:80 nginx

#体验docker版的特定版本的nginx 1.16
docker run -d -p 81:80 nginx:1.16

#docker run -d -p 82:80 nginx:1.18
#直接浏览器访问:http://192.168.2.121/ 就能看到nginx首页了。在响应数据中就能看到nginx的版本 
#是不是感受到了安装不同版本nginx的便利之处了,如果不是用docker,你想去安装一些特定的老版本还是比较麻烦的,好多时候只能编译安装
-------------------------------------------------------------------
# 可以更改docker镜像库的源
cd /etc/docker
vim docker.json
# 添加如下内容,并保存退出
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
*************************
# 可以重启docker服务
systemctl restart docker
systemctl start docker
systemctl enable docker
systemctl stop docker
#Docker中国区官方镜像
https://registry.docker-cn.com
#阿里云容器,不过这个好像不更新了,大家可以去阿里官方关注一下
https://cr.console.aliyun.com/

Docker常用命令

docker search
#搜索镜像(只搜索官方仓库的,官方仓库地址:hub.docker.com)
# docker search tomcat
# docker search apache
#我们拉取的镜像tomcat\apache等名字很短对吧,这都是官方仓库中的官方镜像,官方仓库中支持用
#查看本地镜像列表,image就是图像、镜像的意思
------------------------------------------------------------------
docker pull
#下载镜像,拉取镜像
# docker pull tomcat:latest
# docker images
-------------------------------------------------------------------
docker push
#上传镜像,推送镜像,推到官方仓库,推送不是那么简单的,不然早就满了,需要在本地登录一下
-------------------------------------------------------------------
docker rmi
#删除镜像,rm image的意思,直接rm不加i表示要删除容器,可以通过名称加版本来删除,或者直接通
过镜像id值来删除
-------------------------------------------------------------------
docker save
#导出镜像(压缩包) docker save 镜像名称:版本 -o docker_nginx1.20.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-Compose install

#centos7安装docker-compose,我们前面已经安装了,不需要再次安装了
yum install epel-release.noarch -y
yum install docker-compose -y
#kali安装docker-compose
apt install docker-compose -y
# 查看版本
docker-compose -v

常用docker-compose命令

#创建并启动
docker-compose up -d # 启动之后就可以通过浏览器访问了
#停止并删除
docker-compose down
#重启
docker-compose restart
#停止
docker-compose stop
#启动
docker-compose start
相关推荐
漫天转悠21 分钟前
Docker保存镜像和导入镜像文件(图文详解)
ubuntu·docker
fen_fen1 小时前
Docker如何运行一个python脚本Hello World
运维·docker·容器
檀越剑指大厂1 小时前
【Docker系列】Docker 构建多平台镜像:arm64 架构的实践
docker·容器·架构
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS加油站管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·maven
Hello.Reader2 小时前
Spring Retry 与 Redis WATCH 结合实现高并发环境下的乐观锁
java·redis·spring
西岭千秋雪_2 小时前
设计模式の单例&工厂&原型模式
java·单例模式·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·原型模式
fanchael_kui3 小时前
使用elasticsearch-java客户端API生成DSL语句
java·大数据·elasticsearch
m0_748256563 小时前
[CTF夺旗赛] CTFshow Web1-14 详细过程保姆级教程~
java
阿moments3 小时前
Docker - 速成
运维·docker·云原生·容器
T.O.P113 小时前
Spring&SpringBoot常用注解
java·spring boot·spring