获取镜像
docker pull [image name] [option:tag]
获取mysql镜像(没有设置镜像版本号则默认获取最新的,使用latest
标记)
docker pull mysql or docker pull mysql:8.0.29
列出本地镜像
docker images
指定镜像启动一个容器
docker run --name mysql -v /home/ljaer/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
指定镜像启动并进入容器
docker run -it [image name] /bin/bash or docker run -i -t [image name] /bin/bash
伪终端,输入exit退出容器
利用Dockerfile创建镜像
创建目录和Dockerfile文件
//linux命令:创建目录 mkdir [director name] ---- mkdir study //进入目录 cd [director name] ---- cd study //创建文件 touch [file name] ---- touch Dockerfile
编写Dockerfile
编辑文件
vi [file name] 按 `insert` or `i` 进入编辑状态 vi Dockerfile
编写好的Dockerfile文件 , 按esc,输入 :wq 保存并退出
构建镜像
“.” 是 Dockerfile 所在的路径(当前目录),也可以替换为一个具体的 Dockerfile 的路径 docker build .
删除本地镜像
*注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
docker rmi [image id] 例如:docker rmi 0499ee723e2d (0499ee723e2d 为镜像id)
删除所有镜像
docker rmi -f $(docker images -qa)
启动容器
基于镜像启动容器
docker run --name [container name] [image name]
启动容器后台运行
docker run --name [container name] -d [image name]
docker start [container name or id]
重启容器,(会把运行中的容器停止,再重新启动,可以写多个)
docker restart [container name or id]
查看启动的容器
docker ps
查看所有容器
docker ps -a
进入启动后的容器
docker exec -it [container name or container id] /bin/bash
查看容器日志
docker logs -f [container id or name]
停止容器
docker stop [container name or id]
删除容器
只能删除未运行的容器 docker rm [container name or id] 例如:docker rm ddd36b03ccd (ddd36b03ccd 为 容器id) 或者 docker rm redis (redis 为 容器名称)
强制删除容器(包括运行的)
docker rm -f [container name or id]
例子同上
停用所有运行中的容器
docker stop $(docker ps -q)
删除全部已经停止的容器
docker rm $(docker ps -aq)
停用并删除所有容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
查看docker版本
docker version
其他
docker inspect : 获取容器/镜像的元数据。
语法
docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明: -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。
还有更多得用法,一篇文章可能梳理不是那么全,更多教程期待后面的文章