Docker介绍
介绍:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
docker的好处都有啥?
- 和环境进行隔离
- 比虚拟机更轻量
- 可以跨平台执行
1. 概念介绍
docker有三个基本概念,分别是image(镜像)、container(容器)、repository(仓库)。从小到大排序。
-
镜像:类似虚拟机镜像。
-
容器:类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。
-
仓库:每个仓库存放某一类镜像。
一个仓库可以有多个容器,一个容器可以有多个镜像。
2. 安装Docker
docker --version
# 查看docker版本,若安装了docker则会显示版本信息
Linux环境下,安装docker
apt install docker docker-compose
# 安装相关的环境
切换镜像的两种方法:
方法一:使用官方阿里云,阿里云镜像地址:https://help.aliyun.com/document_detail/60750.html
方法二:使用别人注册好的阿里云。当您下载安装的Docker Version不低于1.10时,建议直接通过daemon config进行配置。使用配置文件/etc/docker/daemon.json(没有时新建该文件)。
配置信息如下。
{
"registry-mirrors": [
"http://hub-mirror.c.163.com"
]
}
更新镜像成功后,执行以下命令进行重启docker
sudo systemctl restart docker
3. 常见基本操作
docker search lnmp
# 查找镜像,这里查找lnmp
docker pull idiswy/lnmp
# 下载镜像,这里下载 idiswy/lnmp
docker images/docker images ls
# 查看已下载的容器
docker images | grep lnmp
# 查看是否下载
docker run -p 9100:80 idiswy/lnmp
# 运行容器,-p
表示指定容器映射的端口,左边是主机的端口,右边是容器的端口
docker ps
# 查看容器的运行情况
docker ps -a
# 查看所有已运行的容器,-a
表示全部
从中可以看到有的容器已经运行了很久了,说明容器运行了后不需要再运行。一个镜像可以用run
命令生成无数个容器。
docker stop 容器ID
# 如果出现多个容器的端口冲突,可以关闭掉其中的容器
docker start 容器ID
# 如果关掉的容器想要再开启,可以使用这个命令
docker rm 容器ID
# 如果不仅仅想要关闭容器,还想要删除容器,可以使用这个命令
docker rmi citizenstig/avwa
# 如果不仅仅想要删除容器,还想要删除镜像,可以使用这个命令;citizenstig/avwa
属于镜像名
docker ps -aq
# 显示所有的已运行过的容器ID
docker rm $(docker ps -aq)
# 删除所有的已运行过的容器
docker-compose up -d
# 运行当前目录下的docker-compose.vml
,-d
参数表示在后台运行服务容器;docker-compose
是v1的写法,docker compose
是v2的写法
docker-compose down
# 停掉当前运行的容器
使用docker-compose的好处就是停掉时立即删掉当前容器,这点和docker不一样
4. 一般操作流程
- 查找镜像,使用命令
docker search 镜像名
。 - 拉取镜像到本地,使用命令
docker pull 镜像名
。 - 运行容器,这里有两种方法:一、使用
docker
命令,并指定映射端口;二、若目录有docker-compose.vml
文件,使用docker-compose up -d
命令。 - 若使用了
docker
命令,当不使用容器时,记得使用docker stop 容器ID
命令停止运行。