Docker基础使用

本文详细介绍了如何在Windows系统上安装Docker,包括检查系统要求、启用Windows子系统、下载和配置Docker,以及设置阿里云镜像加速。同时,文章列举了Docker的基础命令,如启动和停止Docker服务、管理镜像和容器、日志查看、文件拷贝等,还提到了Dockerfile的常用指令。
摘要由CSDN通过智能技术生成

安装Docker

Windows安装

准备工作

  • 查看本机系统是否是win10(WSL仅支持win10),且版本要大于1770
  • 控制面板-》程序-》启用或关闭Windows功能-》勾选“适用于Linux的Windows子系统”项
  • 打开任务管理器-》点击性能-》查看cpu虚拟化是都已开启。如果没有开启请先去开启(在bios页面)
  1. 下载 : docker for windows
  2. 下载ubantu。(在microsoft store搜索下载即可)
  3. 使用管理员打开powerShell 然后执行 wsl --update
  4. 打开阿里云进入容器镜像,点击镜像加速。复制加速链接
  5. 打开docker 进入设置 在docker engine中的json中加入一项 "registry-mirrors": ["你复制的加速链接"]
  6. 然后打开cmd就可以使用docker命令啦,输入bash可以进入linux系统。

Docker 基础命令

  • 运行docker

systemctl restart docker

  • 查看docker服务信息

docker info

  • 查看dockterfile干了些啥

docker histoer image_name:version

镜像管理

  • 搜索镜像是否存在

docker search image_name

  • 下载镜像

docker pull image_name
docker pull image_name:version

  • 查看本地有哪些镜像

docker image ls
docker images
docker images nginx
docker images centos:7.8.2003
docker images -q // 只列出id
docker images --format “{{.ID}}–{{.Repository}}” // 格式化输出
docker images --format “table {{.ID}}\t{{.Repository}}\t” // 以表格样式输出

  • 查看镜像的服务信息

docker image inspect 镜像id

  • 删除本地镜像

docker rmi image_id
docker rm `docker images -aq` // 批量删除镜像,慎用

  • 修改镜像名字

docker tag 镜像id name

  • 运行镜像

    -d: 后台运行容器
    -p 80:80: 端口映射
    -P :随机端口映射,会找到宿主一个闲置的端口
    -i :开启一个交互式命令操作
    -t :开启一个终端
    -rm :容器挂了会删除后台记录
    -restart=always :自动重启
    -name :命名容器
    bash 进入容器的命令,可以是其他命令。

运行镜像
docker run -d -p 80:80 nginx
进入容器内部
docker run -it 容器id bash

  • 导出镜像

docker image seve image_name:vsersion > /opt/imahe_name.version.tar

  • 导入镜像

docker load < centos7.9.2009.tar

容器管理

  • 查看运行中的容器

docker ps
docker ps -a // 查看哪些容器运行过

  • 查看容器中的进程信息

docker top 容器id

  • 查看容器资源信息

docker stats 容器id

  • 查看容器详细信息,用于高级调试

docker inspect 容器id
docker inspect --format “{{.NetworkSettings.IPAddress}}” 容器id

  • 删除容器
    -f 强制删除

docker rm 容器id
docker rm `docker ps -aq` // 批量删除容器记录,慎用

  • 停止容器运行

docker stop 容器id

  • 开始容器运行

docker start 容器id

开始已经停止的容器并进入

docker start -ia 容器id

  • 进入容器内部

docker start 容器id
docker attach 容器id

  • 进入到运行的容器内部

docker exec -it 容器id bash

  • 查看容器运行日志

docker logs 容器id
docker logs -f 容器id // 刷新日志
docker logs 容器id | tail -5

  • 拷贝本地文件到容器

docker cp 本地地址/readme.md 容器id:/home/zzh/

  • 容器生成新的镜像

docker commit 容器id image_name

  • 推送容器到dockerhub

docker tag image1 uid/image:1.0
docker push uid/image:1.0
docker tag image1 uid/image
docker push uid/image
## 发布下一个版本的时候
docker tag image2 uid/image:2.0
docker push uid/image:2.0
docker tag image2 uid/image
docker push uid/image

Dockerfile 命令

FROM 指定镜像(没有就下载)
MAINTAINER 指定作者信息
RUN 执行的linux命令(比如下载命令,注意要非交互式)
ADD 拷贝文件会自动解压
WORKDIR 设置当前的工作目录(就是进入容器的目录)
VOLUME 设置卷,挂载主机目录
EXPOSE 指定对外接口
CMD 容器启动后要做的事情 (docker run 的时候指令会覆盖)
COPY 单纯拷贝文件
ENV 环境变量
ARG 设置环境变量
USER 设置进入容器后默认的用户
ENTRYPOINT 容器启动后运行的命令(docker run 传命令参数)

-使用Dockerfile 创建镜像

cd Dockerfile 的目录
docker bulid .
docker -t “myhub/image_name” .

  • COPY

拷贝web.py 到容器home目录下
COPY web.py /home
拷贝image开头的文件 和tmp下cc开头txt结尾的文件到容器home下
COPY image* /tmp/cc?.txt. /home

  • ADD

ADD python.3.8.agz /home
ADD https://python3.8…(url) /home
RUN …

  • CMD 和 ENTRYPOINT

CMD [“ping”,“www.baidu.com”]
ENTRYPOINT [“ping”,“www.baidu.com”]
区别就是cmd在docker run的时候后边的指令会覆盖cmd的指令
而entrypoint则会吧docker run 后边的命令作为参数 运行

  • ARG 和 ENV

ENV VERSION=3.0
RUN pip install django–$VERSION
区别就是ARG在构建镜像的时候有用,容器运行就消失了
而ENV在容器运行后还会存在

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄年阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值