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/镜像名