docker的命令做一个总结

镜像

概述:首先镜像它是Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起的一个文件系统,它由镜像名称和镜像版本两部分组成。

查看本地镜像

docker images

 搜索镜像

docker search 镜像名称

 拉取镜像

docker pull 镜像名称:版本号

 导出镜像

docker save -o [保存的目标文件名称] [镜像名称:版本号 | 镜像ID]

 

#保存的镜像名称,后缀名为 tar

例如:

docker save -o nginx.tar nginx:latest

 

删除镜像

前提:该镜像没有对应的容器

docker rmi 镜像ID或者镜像名称

 例如:

docker rmi nginx:latest

 导入镜像

docker load -i nginx.tar

 导入后如果查看不到镜像名称,可以使用 docker tag 为镜像指定名称

docker tag 镜像ID 镜像名称:tag

 

容器

知识点:容器是由镜像生成的。

docker run命令分析

docker run 

-d  #表示后台运行

-p 宿主机端口:容器端口  

#在宿主机开一个端口和容器端口映射,达到访问容器内部8080的目的。

--name 容器名称     

#是唯一的,

-v 宿主机目录 :容器目录

#在宿主机开一个目录和容器目录映射

-rm #停止容器后删除容器

--restart=always #表示重启

-rm和 --restart=always 不能同时使用

 docker run -d -p 宿主机端口:容器端口  --name 容器名称 -v 宿主机目录 :容器目录 --rm 镜像ID

你在运行这个命令最重要的是宿主机的文件一定要设置好。

 docker run -d -p 80:80 --name nginx80 -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/nginx/html:/usr/share/nginx/html --rm 605c77e624dd

 当然你在运行这个命令之前一定要先检查你的nginx中的conf文件,里面的配置要和你容器的目录要对应的上。

比如:

如果对应不上的话就会产生404的错误。

查看命令

查看到的属性:
Image #是镜像ID

CONTAINER ID  #容器ID

 docker ps 查看当前运行的容器

 -a #查看所有

 -aq    #查看所有容器的ID

 docker stop 50b6745a137a #停止容器

 docker stop $(docker ps -qa) #停止所有容器

 docker restart #重启容器

 docker rm #删除容器 注意:只能删除停止的容器

 

停止容器

docker stop 容器名称或ID

docker stop $(docker ps -aq) #停止所有的容器

启动容器

docker start 容器名称或ID 

重启容器

docker restart 容器名称或ID 

删除容器

docker rm 容器名称或ID

#容器必须是停止状态,才能删除

进入容器

docker exec -it 容器ID或容器名称 bash 

 命令解读

 docker exec :进入容器内部,执行一个命令

 -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互

 bash:进入容器后执行的命令,bash是一个linux终端交互命令

退出容器

exit

 三个重要指学java的同学注意这三个命令一定要会

docker run -d -p 80:80 --name nginx 镜像ID

docker exec -it 容器ID或容器名称 bash

docker logs 容器ID或容器名称

数据卷

概述:可以让宿主机的目录和容器中的目录形成映射关系,实现共享数据。在容器化技术中,数据卷的挂载是指将主机上的一个目录或文件与容器内的一个目录进行关联。

一个数据卷可以在多个容器挂载

创建数据卷

docker volume create 数据卷名称

查看数据卷信息

docker volume inspect 数据卷名称

查看全部数据卷

docker volume ls

删除数据卷

#只能删除没有被容器引用的数据卷

删除全部:docker volume prune

 删除指定数据卷:docker volume rm 数据卷名称

DockerCompose

第一步:

上传 docker-compose 文件到  /usr/local/bin

第二步:

chmod +x /usr/local/bin/docker-compose

第三步:

测试安装是否成功
docker-compose -v

比如我现在想要联调myqsl和tomcat,那么就要编写一个文件docker-compose.yml

放在这个/opt/docker/docker-mysql-tomcat/路径下

version: '3.7'
services:
  mysql:
    image: mysql:5.7.25
    container_name: mysql
    volumes:
      - /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf
      - /tmp/mysql/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    ports:
      - 3306:3306
    restart: always
  tomcat:
    image: tomcat:8.5.15
    container_name: tomcat
    volumes:
        - /tmp/tomcat/webapps:/usr/local/tomcat/webapps
    ports:
      - 8080:8080
    restart: always

 第五步:

docker ps -qa
docker stop $(docker ps -qa)
docker rm $(docker ps -qa

  运行容器

 docker-compose up -d

 #注意:必须在docker-compose.yml文件所在的目录或者子目录下运行

最后的一些docker-compose相关命令

后台运行:docker compose up -d
停止、启动、重启:docker compose stop|start|restart [服务名]
查看日志:docker compose logs -f [服务名]
停止并删除容器:docker-compose down

本章涉及软件:VMware,CentOS 7,Docker,MobaXterm。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值