[Android开发] 工具篇--Docker使用

Docker介绍

Docker是一种容器工具,是一种轻量化的虚拟技术,可以支持高效便捷地创建和使用Linux容器,同时可以让开发者以便捷方式打包应用到一个可移植的容器中,然后安装至任何运行Linux或Windows等系统的服务器上。

官网:https://www.docker.com/

Docker基本概念

Docker 中有非常重要的三个基本概念:镜像(Image)、容器(Container)和仓库(Repository)。

下图较为全面的展示了他们之间的关系。

[Android开发] 工具篇--Docker使用_第1张图片

  • 镜像(Image)

Docker 镜像是一个特殊的文件系统,就像Linux中的root文件系统一样,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

  • 容器(Container)

容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。

  • 仓库(Repository)

存放镜像文件的地方,就像代码仓库一样。

Docker安装

Ubuntu 系统安装 docker,推荐使用 docker 官网的安装方式,安装最新版本,最方便的方法使用官网提供的脚本自动安装。 https://docs.docker.com/engine/install/ubuntu/  

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

安装完成后,执行docker命令一般需要sudo操作,有些不便,可按如下操作设置免sudo

sudo usermod -aG docker $USER
newgrp docker
docker ps

Docker常用命令

  • docker信息
# 查看docker版本
docker version

# 查看docker信息
docker info

  • docker镜像操作
# 查看image
docker images

# 下载image
# eg:docker pull mysql:5.7 # 拉取mysql镜像
# 如果不显式地指定tag,则默认会选择latest标签,即下载仓库中最新版本的镜像。
docker pull

# 导入、导出image
docker load -i my_image.tar
docker save -o my_image.tar my_image

# 删除image
# -f 强制删除
docker rmi [-f] [image-id]

# 制作image
# dockerfile是构建镜像的文本文件 
# imageName 是镜像名称,1.0.0 是镜像的版本号或标签
docker build -f dockerfie -t imageName:1.0.0
  • docker容器操作

# 查看所有容器
docker ps -a

# 启动已创建的容器
docker start 

# 创建并启动容器,可参考docker help run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
eg:docker run --network host --name [container_name] -it -v [code_path]:[code_path] -w [code_path] [image_id] /bin/bash

# 进入正在运行的容器
docker attach 

# 删除容器
docker rm 

# 退出容器
exit

参考

什么是Docker容器?Docker容器是如何工作的? - 华为

Docker核心概念总结 | JavaGuide

【Docker】Dockerfile简介_dockerfile是干什么的-CSDN博客

你可能感兴趣的:(Android开发实战,docker)