Docker服务相关命令
启动docker服务:systemctl start docker
停止docker服务:systemctl stop docker
重启docker服务:systemctl restart docker
查看docker服务状态:systemctl status docker
设置开机启动docker服务:systemctl enable docker
Docker镜像相关命令
查看镜像:docker images
查看镜像id:docker images -q
搜索镜像:docker search 镜像名称
拉取镜像:docker pull 镜像名称:版本号(没写版本号,默认最新版)
删除镜像:docker rmi 镜像id
删除所有镜像:docker rmi 'docker images -q'
Docker容器相关命令
查看所有容器:docker ps -a
创建并启动容器:docker run -it --name=容器名 镜像名 bash
进入容器:docker exec -it 容器名称/容器id bash
启动容器:docker start 容器名称/容器id
停止容器:docker stop 容器名称/容器id
删除容器:docker rm 容器名称/容器id
查看容器信息:docker inspect 容器名称/容器id
Docker数据卷相关命令
创建启动容器时,使用-v参数设置数据卷:docker run ...... -v 宿主机目录 : 容器内目录
创建数据卷容器:docker run -it --name="数据卷容器" -v /volume 镜像名 bash
创建容器挂载到数据卷容器:docker run -it --name=c1 --volume-from "数据卷容器" 镜像名 bash
创建容器挂载到数据卷容器:docker run -it --name=c2 --volume-from "数据卷容器" 镜像名 bash
注:这样c1,c2跟数据卷容器和宿主机的数据卷绑定了在一起,哪一天数据卷容器挂了,c1和c2还是能照样通信,宿主机对应目录为/var/lib/docker/volumes 容器对应目录为/volumes
Docker自定义镜像
以springboot项目为例:
1.自定义镜像文件(springboot_dockerfile)
FROM java:8
ADD springboot.jar app.jar
CMD java -jar
2.通过镜像构建容器
docker build -f ./springboot_dockerfile -t app .
3.启动容器开始访问
docker run -id -p 8080:8080 app
Docker服务编排docker-compose
1.编写docker-compose.yml文件,将要启动的容器注册进去
2.切换到docker-compose.yml所在的目录下
3.docker-compose up 即可启动所有容器
Docker私有仓库搭建
1.拉取私有仓库镜像:docker pull registry
2.启动私有仓库容器:docker run -id --name=registry -p 5000:5000 registry
3.修改daemon.json:vim /etc/docker/daemon.json
内容如下:{"insecure-registries":["私有仓库服务器ip:5000"]}
4.重启docker服务:systemctl restart docker
5.启动容器:docker start registry
5.打开浏览器输入:http://私有仓库地址ip:5000/v2/_catalog
镜像上传私有仓库/从私有仓库下拉
1.标记镜像为私有仓库的镜像:docker tag 镜像名 私有仓库服务器ip:5000/镜像名
2.上传标记的镜像:docker push 私有仓库服务器ip:5000/镜像名
3.下拉到私有仓库:docker pull 私有仓库服务器ip:5000/镜像名