Docker指令记录
对docker指令及踩坑记录,不包含具体原理及过程。参照https://www.cnblogs.com/clsn/p/8410309.html#auto-id-17有详细教程。
一、Docker基础指令
1.镜像
1.1 搜索dockerhub官方镜像
docker search nginx
1.2 拉取镜像
docker pull nginx
1.3 查看本地镜像
docker images 或 docker image list
1.4 将本地镜像导出成压缩文件
docker image save nginx > docker-nginx.tar.gz
1.5 删除镜像
docker image rm nginx:latest
1.6 导入镜像到本地,-i 表示指定导入的文件
docker image load -i docker-nginx.tar.gz
1.7 查看镜像的详细信息
docker image inspect nginx
2.容器
关于镜像与容器的关系,我认为可以用一句话表达:容器就是镜像的实例,一个镜像可以创建多个容器,镜像类似于快照。
2.1 启动容器
docker run -d -p 80:80 nginx
-d为后台运行容器;-p为端口映射,后接映射地址 ip:hostPort:containerPort
2.2 查看正在运行的容器
docker container ls 或 docker ps
2.3 查看容器的详细信息
docker container inspect 容器名称/id
2.4 查看所有的容器
docker ps -a
2.5 停止容器
docker stop 容器名称/id 或 docker container kill 容器名称/id
2.6 进入容器(最常用的一种)
docker exec -it 容器id /bin/bash
2.7 退出容器
exit 或快捷键:Ctrl+P+Q
2.8 将容器保存为镜像
docker commit 容器ID newimage:v1
3.数据卷
数据卷用来共享容器间的数据,将容器与宿主机之间实现数据共享,使任意一方相应共享地址下数据变化影响对应一方。
3.1 在创建容器时使用数据卷
docker run -d -p 80:80 -v /data/nginx:/usr/share/nginx/html nginx:latest
使用-v表示创建数据卷,宿主机地址为/data/nginx(没有会自动创建),目标容器内的数据地址在/usr/share/nginx/html。
3.2 创建自定义容器卷
docker volume create customize-nginx-volume
使用时,在创建容器的时候将宿主机地址改为自定义的容器卷的名称。
3.3 查看所有容器卷
docker volume ls
3.4 查看指定容器卷详细信息
docker volume inspect customize-nginx-volume
容器变化不会影响数据卷变化,宿主机内的数据卷还在,新建容器时仍可以继续使用。
3.5 清理数据卷
docker stop edc-nginx // 暂停容器实例
docker rm edc-nginx // 移除容器实例
docker volume rm edc-nginx-vol // 删除自定义数据卷