前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker快速上手使用

docker快速上手使用

作者头像
Mculover666
发布2023-08-18 20:54:09
3640
发布2023-08-18 20:54:09
举报
文章被收录于专栏:TencentOS-tinyTencentOS-tiny

一、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 源

更新索引:

代码语言:javascript
复制
sudo apt-get update

添加 docker 官方的 GPG 密钥:

代码语言:javascript
复制
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

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

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

2. 安装 docker 社区版

更新索引:

代码语言:javascript
复制
sudo apt-get update

安装 docker 社区版:

代码语言:javascript
复制
sudo apt-get install docker-ce docker-ce-cli containerd.io

查看 docker 版本:

3. 更换国内 docker 镜像源

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

代码语言:javascript
复制
{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}

重启服务:

代码语言:javascript
复制
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 镜像:

代码语言:javascript
复制
sudo docker pull ubuntu18.04

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

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

代码语言:javascript
复制
sudo docker images

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

3. 运行 docker 容器

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

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

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

代码语言:javascript
复制
sudo docker run -it ubuntu /bin/bash

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

代码语言:javascript
复制
sudo docker run -it -d --name ubuntu-test ubuntu:18.04 /bin/bash

4. 查看当前存在的容器

代码语言:javascript
复制
sudo docker ps -a

5. 进入容器

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

代码语言:javascript
复制
sudo docker exec -it <容器id> <进入容器后执行的程序>

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

6. 停止容器

代码语言:javascript
复制
sudo docker stop <容器id>

7. 删除容器

代码语言:javascript
复制
sudo docker rm <容器id>

8. 删除镜像

代码语言:javascript
复制
sudo docker rmi <镜像名称>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Mculover666 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、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. 删除镜像
                                相关产品与服务
                                容器镜像服务
                                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档