关于Docker
首先Docker是一个开源的应用容器引擎,可以将应用程序和依赖打包到一个可移植的容器中,然后发布到Linux服务器,可用于实现虚拟化.
容器与其他容器共享内核,作为独立的进程在主机操作系统的用户空间中运行。
概念
- 容器(container) 相当于一个轻量的主机,应用程序和其依赖都在其中
- 镜像(image) 容器的模板文件,相当于容器的安装文件
- 仓库(repository) 镜像的版本管理库,类似Git,官方镜像库
- Dockerfile 用于构建镜像,主要描述镜像构建过程和容器启动时的命令
安装docker(Ubuntu)
1 | sudo apt install docker.io |
运行第一个镜像
1 | docker run -it ubuntu echo "hello world" |
在第一次运行的过程中,Docker engine会根据镜像名称(这里我使用的Ubuntu)和tag(默认为latest,即最新版)在本地寻找镜像,如果没有则向远程仓库中寻找并pull到本地,然后启动此镜像
根据自己程序自定义镜像
自定义镜像主要依赖于Dockerfile和docker-compose.yaml(可选)
一个简单的Dockerfile 文件如下
1 | FROM nginx #父镜像 |
根据Dockerfile 构建镜像
1 | $ docker build -f /path/to/a/Dockerfile . |
关于Dockerfile的详细介绍请见:传送门
推送镜像到Docker Hub或是其他远程镜像库
1 | $ docker push yourname/newimage |