本文最后更新于 1056 天前,其中的信息可能已经有所发展或是发生改变。
Docker 是一个开源的应用容器服务。时一个具有打包、分发、部署的工具,类似于虚拟机一样完全独立。
安装
Windows直接下载安装 https://hub.docker.com/editions/community/docker-ce-desktop-windows
Linux系统
# 一键安装
curl -sSL https://get.docker.com/ | sh
# 使用阿里云镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 启动Docker
systemctl start docker
# 开机自启Docker
systemctl enable docker
卸载
# 删除安装包
sudo apt-get purge docker-ce
# 删除配置文件、容器镜像
sudo rm -rf /var/lib/docker
使用
# 查看Docker版本
docker -v
## 拉取镜像
#下载 https://hub.docker.com/ 市场的容器
docker pull 镜像名或ID
# 创建并运行容器,而且将容器开放8000端口映射在主机80上
docker container run -p 8000:80 --name 创建名 容器名
## 例如安装CentOS
# 拉取镜像
docker pull centos:centos7
# 启动镜像
docker run -itd --name centos-test centos:centos7
# 查看本地镜像
docker images
# 列出容器
docker p
# 列出运行中容器
docker ps
#获取日志
docker logs
# 停止容器
docker stop 容器名或ID
# 删除容器
docker rm 容器名或ID
# 启动停止状态的容器
docker start 容器名或ID
# 重启容器
docker restart 容器名或ID
# 启动所有容器
docker start $(docker ps -a -q)
# 停止所有容器
docker stop $(docker ps -a -q)
# 删除所有容器
docker rm $(docker ps -a -q)
制作镜像
把容器制作成镜像
# 制作镜像命令
docker commit 容器id 镜像名:标签
# -m -a 可选可空,后面的是容器id,以及创建镜像命名:标签
更换镜像源
# 在/etc/docker文件夹下修改daemon.json ,若不存在则新建
cd /etc/docker
vim daemon.json
# 添加源
{
"registry-mirrors": [
"https://mirrors.tuna.tsinghua.edu.cn",
]
}
# 重启docker
service docker restart
# 目前可用的镜像源
https://<your_code>.mirror.aliyuncs.com #阿里云
https://dockerproxy.com #代理站
https://docker.mirrors.ustc.edu.cn #科大镜像
https://docker.nju.edu.cn #南京大学
Docker compose
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。也就是可以从这个 YML 文件配置中创建并启动所有服务。
安装Docker compose
# 官方源
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 国内源
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证是否安装成功
docker-compose version
编写yml文件配置编写
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
更多参考:
#