这里主要讲的是利用容器化的方式去部署项目,容器化部署的好处有很多哈,比如容器可以很方便从一台电脑迁移到另一台电脑。
简单一句话就是一个应用打包、分发、部署的工具,可以把它理解为一个轻量的虚拟机,但是是以容器的方式运行的。
支持各种系统 Linux,MacOS,Windows等。可以使用容器化部署以降低项目在不同的平台之间进行部署的成本。
再也不会出现 “怎么在我的电脑能运行,到了服务器就运行不了” 这种情况。
使用 Docker 前需要先了解这几个基本概念
获取镜像的方式可以通过 Dockerfile 文件创建,也可以通过 dockerHub 仓库下载
Linux 系统
vim /etc/docker/daemon.json
Windows 系统,找到 daemon.json 文件并打开修改
C:\Users<你的用户名>.docker\daemon.json 文件
然后修改里面的 registry-mirrors 字段,可以添加多个源地址。可以在下载镜像的时候加速
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序
docker run ubuntu:15.10 /bin/echo "Hello world"
安装一个 ubuntu 15.10版本的容器,并在容器中输出hello world,如果本地不存在该容器就会从远程仓库下载,相当于你在 Docker 容器内安装了一个 ubuntu 系统的虚拟环境,可以在里面执行各种Linux的指令。
相当于可以在容器虚拟环境中打开控制台。
放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
docker run -i -t ubuntu:15.10 /bin/bash
# 或者
docker run -it ubuntu:15.10 /bin/bash
如果输入了-d 参数,会让容器后台运行,那么怎么进入到容器中呢?
一个是docker attach 容器ID命令,如果从这个命令进入到容器中后,再输入exit会把整个容器也退出,不再维持后台运行的状态。
另一个是docker exec -it 容器ID /bin/bash命令回到容器中,执行这个命令在容器中输入exit不会把整个容器也退出,容器仍将维持后台运行状态。
输入指令docker ps -a可以查看所有的容器。
如果要恢复一个已经停止的容器可以输入docker start 容器ID,同样的,想要停止一个容器可以输入docker stop 容器ID。
另外还有docker restart 容器ID 命令用于重启容器
容器的状态有7种:
docker rm -f 容器ID
docker container prune
docker rmi 镜像仓库源
# 比如说要删除上面的test v0.0.1版本
docker rmi test:v0.0.1