📜  docker 入门 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:40:49.981000             🧑  作者: Mango

Docker 入门 - Shell/Bash

什么是 Docker?

Docker 是一种开源的容器引擎技术,它可以将应用程序和其依赖的软件打包在容器镜像中,并提供快速、轻量级的部署方式。使用 Docker 可以更加方便地进行开发、测试、部署和运维工作,大大提高了应用程序的可移植性、易部署性和可扩展性。

Docker 的优势

相比于传统的虚拟机技术,Docker 的优势在于:

  • 轻量级: Docker 容器相对于传统虚拟机更加轻量级,因为它们共享主机的操作系统内核,不需要额外的操作系统启动。
  • 高效性: Docker 容器的启动速度更快,资源占用更少,因为容器使用的是主机系统的内核和文件系统。
  • 可移植性: Docker 容器在不同的环境中运行时,具有相同的行为和性能,因为它们打包了应用程序及其运行环境。
  • 弹性: Docker 容器可以快速启动、停止和重新启动,容易进行水平扩展和自动负载均衡。
  • 安全: Docker 容器可以提供更加严格的安全隔离和权限管理。
  • 生态系统: Docker 的生态系统十分庞大,这意味着可以找到众多轻松管理容器的工具和服务。
安装 Docker

在 Linux 系统中安装 Docker 相对比较简单,可以使用以下命令进行安装:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker 命令行工具

Docker 的命令行工具常用的有以下几个:

  • docker run: 运行容器。
  • docker images: 列出本地的镜像。
  • docker search: 在 Docker Hub 中搜索镜像。
  • docker pull: 下载远程镜像。
  • docker push: 将本地镜像上传到 Docker Hub。
  • docker ps: 列出正在运行的容器。
  • docker exec: 在容器中运行命令。
  • docker stop: 停止容器。
  • docker rm: 删除容器。
运行容器

使用 Docker 运行一个容器比较简单,只需要执行以下命令:

$ docker run -it ubuntu /bin/bash

其中,-it 表示在交互模式下运行容器,ubuntu 是运行的镜像名称, /bin/bash 是容器启动后的默认命令。运行该命令后,会进入容器的交互终端,可以在里面操作容器。

构建镜像

构建镜像比较常见的方法是使用 Dockerfile,Dockerfile 是一个包含了构建镜像指令的文件。以下是一个 Dockerfile 的示例:

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y nginx
CMD ["nginx", "-g", "daemon off;"]

其中:

  • FROM 指定了基础镜像,这里使用的是 Ubuntu 18.04。
  • RUN 执行了在该镜像上安装 nginx 的命令。
  • CMD 指定了容器启动时要执行的命令,这里是启动 nginx 服务。

使用以下命令可以将 Dockerfile 构建成镜像:

$ docker build -t mynginx .

其中,-t 指定了构建的镜像名称及其标签,. 表示 Dockerfile 所在的路径。

上传镜像到 Docker Hub

在构建好的镜像上传到 Docker Hub 上可以分享给其他用户使用,可以使用以下命令上传镜像:

$ docker tag mynginx username/mynginx
$ docker push username/mynginx

其中,username 指定了 Docker Hub 上的用户名。

总结

以上就是 Docker 入门的基本内容,通过 Docker 可以更加方便地进行开发、测试、部署和运维工作。希望大家可以掌握 Docker 的基础知识和命令使用,更加高效地进行软件开发和运行。