docker的基础使用

1.介绍

Docker 是一个开源的容器化平台,旨在简化应用程序的开发、交付和运行。通过将应用程序及其所有依赖项打包到一个轻量级的容器中,Docker 使得软件在不同环境中的一致性和可移植性得以实现。

我们常用的软件如mysql、nginx等,都可以在docker内创建并运行

2.原理

Docker 是基于容器技术的,它通过将应用程序及其所有依赖项打包到一个独立的容器中,来实现轻量级的虚拟化。以下是一些关键概念和原理:

容器与镜像
镜像(Image):Docker 镜像是一个只读的模板,包含了应用程序及其运行所需的所有依赖项和配置。镜像可以通过 Dockerfile 文件构建,Dockerfile 是一个包含一系列指令的文本文件,定义了如何构建镜像。

容器(Container):容器是镜像的实例,是一个轻量级、可执行的独立环境。容器在运行时会使用镜像的文件系统,并且可以读写数据。每个容器都是隔离的,运行在自己的用户空间中。

docker和VM(虚拟机的区别)
docker和kvm都是虚拟化技术,它们的主要差别:

  1. Docker有着比虚拟机更少的抽象层
  2. docker利用的是宿主机的内核,VM需要的是Guest OS
    在这里插入图片描述

3.基本指令

1.系统指令
# 启动Docker
systemctl start docker
# 停止Docker
systemctl stop docker
# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps
2.操作指令
# 查看运行的容器
docker ps

# 查看所有镜像
docker images

# 创建并运行容器
docker run

# 运行容器
docker start

# 查看输出日志
docker logs -f nginx

# 进入容器
docker exec -it nginx bash

# 查看容器详细信息
docker inspect nginx

# 保存镜像到本地并压缩
docker save -o mysql.tar.gz mysql:latest

# 加载保存的镜像
docker load -i mysql.tar.gz

# 删除镜像 -f强制
docker rm mysql:latest -f

# 清理任何悬空资源(镜像、容器、数据卷和网络)。
docker system prune
3.删除指令
#停止容器
docker stop $(docker ps -a -q)
#删除容器
docker rm $(docker ps -a -q)
#删除镜像
docker image rm $(docker image ls -a -q)
#删除数据卷:
docker volume rm $(docker volume ls -q)
#删除 network:
docker network rm $(docker network ls -q)

#删除 artisan 镜像创建的所有容器
docker rm $(docker ps -a |grep artisan | awk{print $1})

#最直接并全面清理的的就是以下命令
$docker stop $(docker ps -a -q) && docker system prune --all --force
docker rm $(docker container ls -f ‘status=exited’ -aq) -> 按过滤条件’status=exited’,批量删除container
4.参数解读
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia\Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

docker run 创建并运行一个容器,-d 是让容器在后台运行

--name mysql 容器名字,必须唯一

-p 3306:3306 设置端口映射,宿主端口: 容器端口

-e 设置环境变量

mysql:镜像名: 版本号,可指定版本(mysql: 5.7),不指定默认最新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值