docker是linux容器的一种实现,也是现在最火的容器。容器就是一个隔离的进程,具有启动快、占用资源少、占用空间少等特点。
dockerfile 是文本配置文件,image file 是二进制文件,container file 是二进制文件
生成步骤:dockerfile -> image文件 -> container文件
# 从dockerfile生成image
docker image build -t [image名称] /path/to/dockerfile
# 从image生成container
# 1、容器的3000端口映射到本机8000端口
# 2、容器的shell映射到本机当前窗口的shell,然后在本机当前窗口输入的命令会传入容器
# 3、容器启动之后,内部执行的第一个命令:/bin/shell
docker container run -p 8000:3000 -it [image名称] /bin/bash
# 从image生成container(容器终止后自动删除容器文件)
# -itd相当于:-i(交互式)、-t(终端) 和 -d(后台)
docker container run -it --rm -p 8000:3000 [image名称] /bin/bash
# 拉取镜像
docker image pull library\hello-world
或
docker pull hello-world
# 拉取mysql
docker pull mysql
# 查看所有的镜像
docker image ls
# 删除指定的镜像
docker image rm [镜像名称]
# 运行镜像(会生成容器和容器文件)
# 如果本地没有hello-world镜像文件,则会自动从docker hub中查找
# run会生成 + 运行容器文件
docker container run hello-world
# start仅运行已存在的容器文件
docker container start hello-world
# 列出正在运行的容器
docker container ls
# 列出所有(包括已停止)的容器
docker container ls --all
# 强行终止容器
docker container kill [容器ID]
# 正常停止容器
docker container stop [容器ID]
# 查看容器内的shell输出
docker container logs [容器ID]
# 进入一个正在运行中的容器
docker container exec -it [容器ID] /bash/shell
# 将某个文件从正在运行的容器中复制到本机的/path目录下
docker container cp [容器ID]:[/path/to/file] /path