如何在Linux上部署Docker容器

一、什么是docker?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

Docker是基于容器技术的轻量级虚拟化解决方案

1、docker的基本组成

镜像(image)

Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。通过一个镜像可以创建多个容器。

容器

Docker利用容器技术,运行一个或者多个应用,通过镜像来创建。

启动、停止、删除、基本命令

仓库

仓库(Repository)是集中存放镜像的地方。

2、安装Docker (根据官方文档安装)

环境准备

1、 需要掌握基本的linux命令

2、 Ubuntu 18.04

3、使用Xshell连接远程服务器

环境查看

shell 复制代码
# 系统内核 4.15 以上
root@iZ2zeiqj5av1yaulh3shsuZ:~# uname -r
4.15.0-48-generic
shell 复制代码
# 系统版本
root@iZ2zeiqj5av1yaulh3shsuZ:~# cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

安装

官网文档地址

shell 复制代码
# 1、卸载旧的版本
$ sudo apt-get remove docker docker-engine docker.io containerd runc

# 2、需要安装的包
$ sudo apt-get update #更新 apt

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common  
    
# 3、Add Docker's official GPG key     
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -   

$ sudo apt-key fingerprint 0EBFCD88 # 查看是否添加成功
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

# 4、设置镜像仓库
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


# 5、安装Docker引擎 (直接安装最新的)
$ sudo apt-get update

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

# 6、查看是否安装成功 (默认安装完好像自动启动了)
$ docker version 
   
shell 复制代码
# 6、运行 hello-world 镜像
$ sudo docker run hello-world
shell 复制代码
# 7、查看下载的镜像
$ docker images
REPOSITORY    TAG     IMAGE ID       CREATED       SIZE
hello-world latest   bf756fb1ae65  10 months ago   13.3kB

3、阿里云镜像加速

1、登录阿里云找到容器镜像服务并开通

2、找到镜像加速器

3、配置使用

shell 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://5qayfnj7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

4、回顾hello-world镜像运行

Docker运行流程图

5、底层原理

Docker是怎么工作的?

Docker是一个client-server结构的系统 ,Docker的守护进程运行在主机上,通过Socket从客户端访问

Docker-Server接收到Docker-Client的指令后,就会执行这个命令。

Docker为什么比虚拟机快?

  • Docker有着比虚拟机更少的抽象层。

  • Docker利用的是宿主机的内核,而不需要Guest OS,因此,当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统,避免了引导、加载操作系统内核这个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的,而Docker由于直接利用宿主机的操作系统则省略了这个过程,因此新建一个Docker容器只需要几秒钟。

相关推荐
xixiaoyunya21 分钟前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
墨家句子23 分钟前
服务器被反复尝试登录之后:fail2ban 加密钥登录的五道加固
linux·后端
阿明627 分钟前
进程替换【Linux】
linux·运维·服务器
sunoo-22931 分钟前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
YonyouHRSaaS1 小时前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统
倔强的石头1062 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
wdfk_prog2 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
掉进电商坑三年没爬出来的东叔2 小时前
云服务器搭建个人网站实战:从零到公网访问,含域名HTTPS
运维·服务器·https
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 epoll(上):从接口到底层内核工作机制剖析
linux·网络
IT大白鼠2 小时前
彭大帅的AI运维助手跨出 Linux:全面接管 Windows 服务器
运维·服务器·人工智能