Docker 使用及常用命令(一)

一、Docker 基本概念

Docker 是一个开源的应用容器引擎,依赖于已存在并运行的 Linux 内核环境。它允许开发者将应用及其依赖包打包到一个轻量级、可移植的容器中,发布到任何流行的 Linux 机器上。容器相互之间不存在任何接口,且性能开销极低。

Docker 本质上制造了一个隔离的文件系统,执行效率几乎等同于所部署的 Linux 主机。Windows 操作系统上使用Docker,需要安装Linux内核,这个过程可以交给Docker Desktop的安装程序完成。Docker Desktop是Docker官方提供的在 Win10 和 macOS 操作系统上的安装Docker的方式,这个方法将先在虚拟机中安装 Linux 然后再安装 Docker 的方法。

镜像 image:相当于是一个 root 文件系统

容器 container:容器是镜像运行时的实例,可以被创建、启动、暂停、停止、删除等,将在容器中运行应用程序,每个容器互不干扰

仓库 repository:用于保存镜像的代码仓库,每个仓库中包含许多Tag,每个Tag对应一个镜像

注册表 registry:存放着多个仓库,相当于镜像源

客户端 client:提供命令行或其他工具使用 Docker

主机 host:用于执行 Docker 容器和守护进程的物理或虚拟的机器

二、Win10中安装使用Docker Desktop

1、安装 Docker Desktop 

可从以下链接下载Docker: Accelerated, Containerized Application Development

安装过程中如果提示需要安装 WSL 2,可以根据提示安装WSL 2,WSL表示适用于 Linux 的 Windows 子系统

安装 WSL | Microsoft Learn

2、打开终端Terminal,使用下面的命令,通过仓库名和tag标签的组合拉取下载相应的镜像image

docker pull [repository:tag]

比如执行以下操作:

docker pull tensorflow/tensorflow:1.10.0-gpu

3、可以在 Docker Desktop 中 Images 界面中看到下载的镜像

4、运行该image,需新建container容器,进行配置

指定一下端口映射还是有必要的

或者也可使用下面的命令在terminal中启动容器

docker run -it -p 18888:8888 --rm tensorflow/tensorflow:1.10.0-gpu

参数说明:

-i:表示以交互模式运行容器

-t:表示分配终端,-it即产生一个交互式的终端,不应分离使用

-p:表示指定端口映射,格式为:主机端口:容器端口

--rm:指定容器退出时自动清除文件

三、Docker 常用命令(不定时补充)

容器命令:

0、docker --help 查看命令说明

docker [command] --help

查看命令command的使用说明

1、docker pull:拉取镜像

docker pull [image name]

2、docker run:运行容器

docker run [options] [image name]

-it:产生一个交互式的终端

-d:后台运行,返回容器ID

-p:表示指定端口映射,格式为:主机端口:容器端口

-P: 随机端口映射,容器内部端口随机映射到主机的端口

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致

--name:指定容器名称

--rm:指定容器退出时自动清除文件

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

3、docker stop:停止一个容器

docker stop [container ID]

4、docker start:启动一个已停止的容器

docker start [container ID]

5、docker restart:重启容器

docker start [container ID]

6、docker exec:进入容器

如果docker run时使用了参数-d后台运行,进入容器时应使用:

docker exec [container ID]

使用docker exec并退出时,不会导致容器停止,但是使用docker attach进入容器退出时会导致容器停止

7、docker export 导出容器

docker export [options] [container ID]

-o:输出到文件

docker export -o temp.tar [container ID]

将容器导出到本地文件temp.tar

8、docker import 导入容器

cat temp.tar | docker import - test:v1

将本地容器文件 temp.tar 导入到镜像 test:v1

docker import [url]

从某个url地址中导入镜像

9、docker rm 删除容器

docker rm -f [container ID]

前置删除一个运行中的容器

10、docker ps 查看正在运行的容器

docker ps [options]

-a:显示所有容器,包括未运行的

-f:根据条件过滤显示内容

-l:显示最近创建的容器

-n:列出最近创建的N个容器

-q:静默模式,只显示容器编号

-s:显示总的文件大小

包含容器ID,镜像名称,端口映射等信息

11、docker port 查看指定容器的端口映射

docker port [container ID]

12、docker logs 查看容器日志

docker logs [options] [container ID]

-f:跟踪日志输出

--since:显示某个时间开始的所有日志

-t:显示时间戳

--tail:列出最新的N条日志

四、Docker 镜像加速

可使用国内服务商提供的 Docker 镜像加速服务

网易:https://hub-mirror.c.163.com/

阿里云:https://<your ID>.mirror.aliyuncs.com

科大镜像:https://docker.mirrors.ustc.edu.cn/

在Docker Desktop中的Settings中设置镜像源,添加JSON字段:

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/", "https://hub-mirror.c.163.com/"]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰糖不在家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值