当前位置: 首页 > news >正文

docker的下载与使用(一)

本文默认使用linux系统以及会linux的基本指令,windows下安装docker较为繁琐

docker是什么

Docker 是一个开源的应用容器引擎,基于go 语言并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

(docker官网)

ubuntu下docker的安装

使用官方的脚本进行自动安装

 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh

手动安装

r如果系统中已经存在docker历史版本的安装包,或者有卸载残留,都可能会导致安装的失败,所以确保安装前,docker已经完全卸载,或删除历史的docker版本。(详见下面文章)

卸载docker指令

docker版本历史

sudo apt-get remove docker docker-engine docker.io containerd runc

有兴趣参考以上文章来了解docker  docker-engine docker.io  删除指令会根据linux的系统不同版本存在些许不同,这里只讲了ubantu

先更新apt包的索引

sudo apt-get update

使用docker仓库来进行安装

安装apt的依赖包,用于仓库的获取

    sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加docker秘钥

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

设置稳定版仓库

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装最新版docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

已经安装成功了,接下来验证安装

sudo docker run hello-world

如果安装成功,输入上述指令则会看到以下内容 

仔细看上面所示的英文,其实他已经揭晓了,docker运行时的过程

 docker run hello-world

其中docker表示 docker执行的二进制文件 

1. 这句话输入以后,docker客户端会像docker的守护进行进行联系

2. docker的守护进程把hello-world这消息放入docker hub中

3.docker守护进程从该镜像创建了一个新容器,该容器运行可执行文件,从而生成了当前正在阅读的输出。

4.docker再把生成内容发送到客户端,客户端在输送到当前显示屏上

可交互式容器

上述第一个docker程序中,输出了文字之后,便没有了后续,这里我们可以通过指定参数来创建一个可以交互的容器,这个容器耗费资源少,但是相应的很多指令和内容都没有

  • -t: 在新容器内指定一个伪终端或终端
  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
docker run -i -t ubuntu:15.10 /bin/bash

输入上述代码后

等待服务器下载完成之后,就会出现另外一个linux的系统(这里没有展示图片,因为本人云服务器下载速度较慢),可以使用ls来查看当前系统的文件

要退出可以使用指令

exit

或者CTRL+D来进行退出容器

创建后台程序

上面讲了如何创建交互容器,这里进行后台程序的创建(重点)

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

可以看到输入后,出现的指令是一个长字符串,这个字符串叫做容器id,每个创建的容器都有唯一id,可以通过容器id来查看容器内发生了什么

docker ps

来查看当前有哪些容器

这里是本人的 镜像这些后面的文章会提到

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。
  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)

  • NAMES: 自动分配的容器名称

使用一下命令可以查看 容器内的输出 容器id可以只缩写前3个字符

docker logs (容器id)

 停止容器

docker stop

参考文章

https://www.runoob.com/docker/docker-hello-world.html

https://www.docker.com/

https://zhuanlan.zhihu.com/p/305572519

https://blog.csdn.net/doublepg13/article/details/131781150

相关文章:

  • 【Godot4.3】基于绘图函数的矢量蒙版效果与UV换算
  • 在Anaconda的虚拟环境中安装R,并在vscode中使用
  • 【Linux】CentOS7停服之后配置yum镜像源
  • ‌Selenium三大等待方式详解
  • 【数据分析】4 商业数据分析技能模型总结
  • 捌拾- 量子态层析 以及 布洛赫球 (1)
  • Nmap使用指南
  • etcd 3.15 三节点集群管理指南
  • Unity TMPro显示中文字体
  • SOC-ATF 安全启动BL31流程分析(3)
  • 计算机毕业设计SpringBoot+Vue.js新闻推荐系统(源码+文档+PPT+讲解)
  • 【网络通信】数据集合集!
  • 双线服务器和单线服务器的不同之处
  • 【构建工具】Gradle Kotlin DSL中的大小写陷阱:BuildConfigField
  • Ecode前后端传值
  • 【Python爬虫(80)】当Python爬虫邂逅边缘计算:探索数据采集新境界
  • haclon固定相机位标定
  • 【QT 一 | 信号和槽】
  • 什么是大语言模型
  • Git 安装配置
  • 家用宽带怎么做网站 访问/软文推广软文营销
  • 长春做网站qianceyun/网络营销费用预算
  • 网站优化成本/重庆网站制作公司哪家好
  • wamp 做网站发布/优化师培训
  • 做一个网站如何做/比较成功的网络营销案例
  • 网站建设管理制度/餐饮品牌全案策划