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

docker快速上手使用

文章目录

  • 一、docker概述
    • 1. 为什么需要docker
    • 2. 什么是docker
    • 3. docker和虚拟机的区别
    • 4. docker三要素
  • 二、docker安装
    • 1. 添加app源
    • 2. 安装docker社区版
    • 3. 更换国内docker镜像源
  • 三、docker基本使用方法
    • 1. 获取镜像
    • 2. 查看当前系统中的docker镜像
    • 3. 运行docker容器
    • 4. 查看当前存在的容器
    • 5. 进入容器
    • 6. 停止容器
    • 7. 删除容器
    • 8. 删除镜像

一、docker概述

1. 为什么需要docker

在项目开发阶段经常听到一句话:代码在我这里跑正常,为什么在你的机器上就出bug?

docker就是为了解决此问题诞生,将整个环境打包一起交付,这样保证开发环境、测试环境、正式环境都是一样的,避免因为环境不一致而产生不必要的问题。

2. 什么是docker

docker是基于go语言实现的开源项目,主要理念是:Build、ship and run any app,anywhere(在任何地方构建、发布、并运行任何项目)。

docker是解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

3. docker和虚拟机的区别

虚拟机是模拟一套完整的计算机硬件,在模拟的硬件上运行起来新的操作系统,启动慢,占用资源大。

Linux内核中提供了容器技术(Container)的支持,利用namespace将进程之间隔离,利用cgroup限制特定进程的资源使用

基于Linux内核提供的容器技术,docker不需要模拟一套硬件,甚至都不需要新的操作系统内核,提供一套新的rootfs即可,带来的优点如下:

  • 每个容器有自己的文件系统,容器之间相互隔离,容器之间的进程不会影响
  • 启动快,开销小

4. docker三要素

docker整体架构图如下:

(1)安装docker启动之后,在本机就会有一个docker守护服务,称之为docker host
(2)用户通过docker client 执行命令去和docker host进行交互
(3)用户可以将常用的一些docker镜像docker hub(docker镜像中心)拉取到本地
(4)用户想要运行某个拉取到本地的镜像时,docker host会创建一个加载了该docker镜像的全新docker容器

这段话不需要理解,在接下来的安装和使用过程中体验这段话所表述的意思即可。

二、docker安装

在Ubuntu20.04上安装方法如下。

1. 添加app源

更新索引:

sudo apt-get update

添加docker官方的GPG密钥:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加仓库app源(注意架构,我的是amd64):

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"

2. 安装docker社区版

更新索引:

sudo apt-get update

安装docker社区版:

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

查看docker版本:

3. 更换国内docker镜像源

新建 /etc/docker/daemon.json 文件,添加以下内容,替换为腾讯云提供的docker源:

{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}

重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

三、docker基本使用方法

1. 获取镜像

docker官方提供了常用的docker镜像,包括ubuntu、centos、fedora等基本的操作系统,nginx、mysql、redis、python等基本的运行环境。

docker hub官方地址:https://hub.docker.com/。

比如拉取18.04版本的ubuntu镜像:

sudo docker pull ubuntu18.04

2. 查看当前系统中的docker镜像

查看已经pull下来的docker镜像:

sudo docker images

该docker镜像仅占用63.1MB,开销非常小:

3. 运行docker容器

docker会启动一个容器,该容器会将docker镜像加载进来。

  • -d:表示容器在后台运行
  • -i:表示交互式操作
  • -t:表示终端
  • --name:指定容器名称
docker run [参数] <要启动的docker镜像名称> [进入容器后要执行的程序]

(1)启动容器并直接进入

sudo docker run -it ubuntu /bin/bash

(2)在后台启动一个容器,并设置容器名字为ubuntu-test

sudo docker run -it -d --name ubuntu-test ubuntu:18.04 /bin/bash

4. 查看当前存在的容器

sudo docker ps -a

5. 进入容器

进入后台正在运行的容器:

sudo docker exec -it <容器id> <进入容器后执行的程序>


同时,这里我验证了容器中和容器外查看内核版本,用的是同一个内核。

6. 停止容器

sudo docker stop <容器id>

7. 删除容器

sudo docker rm <容器id>

8. 删除镜像

sudo docker rmi <镜像名称>

http://www.lryc.cn/news/19652.html

相关文章:

  • <c++> 类的构造函数与类的析构函数
  • 华为OD机试真题Java实现【玩牌高手】真题+解题思路+代码(20222023)
  • Hive Sql整体优化思路
  • 【华为OD机试模拟题】用 C++ 实现 - 数组的中心位置(2023.Q1)
  • 取指定数值的地址 (int 转 void *)
  • C#的多线程、线程池和Task
  • Day20【元宇宙的实践构想06】—— 元宇宙与Web3.0
  • 极限熵和冗余度
  • 女生学习大数据专业未来前景怎么样
  • 主题模型实践
  • 按字典序排列的最小的等价字符串[拆解并查集]
  • 操作系统——6.系统调用
  • JavaScript DOM操作
  • 【数据结构】顺序表
  • 【人工智能 AI 】RPA 架构师需要具备的技能有哪些?RPA Solution Architect
  • 【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)
  • 【Linux】进程间通信介绍 | 管道
  • 这次说说腾讯的一场 35K—55K 的 Android 高工面试
  • Jenkins第一讲
  • 变分推断 | MATLAB实现VBMC变分贝叶斯蒙特卡洛模拟的贝叶斯推断
  • 代码随想录【Day25】| 216. 组合总和 III、17. 电话号码的字母组合
  • web中git漏洞的形成的原理及使用
  • 【SPSS】单样本T检验分析详细操作教程(附案例实战)
  • 计算机网络笔记、面试八股(三)—— HTTPS协议
  • 浅谈liunx init.d 和 rc.local 两种起动方式
  • 元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录
  • 追梦之旅【数据结构篇】——详解C语言实现顺序队列
  • 使用自己的数据集Fine-tune PaddleHub预训练模型
  • 带组态物联网平台源码 代码开源可二次开发 web MQTT Modbus
  • 计算机网络的发展历程