docker使用相关命令

容器

列出容器:

docker ps [OPTIONS]

OPTIONS说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • –format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • –no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。

杀死容器:

杀死某个容器

docker kill 容器ID

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除容器

删除某个容器

docker rm 容器ID

删除所有已经停止的容器

docker rm $(docker ps -a -q)

重启容器

docker restart 容器ID

启动和停止容器

#停止容器
docker stop 容器id或者容器名
#启动容器
docker start 容器id或者容器名

创建容器

实际上是有docker create方法的,这样就是创建一个容器,并不会运行,run相当于create+start,新版docker推荐使用run

docker run [OPTIONS]

  • -i:表示创建并运行容器
  • -t:表示容器启动后会进入其命令行。通常于-i一起使用:-it表示创建并运行容器,且运行之后自动进入为当前应用打开一个默认终端
  • –name :为创建的容器命名。
  • -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。
  • -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行,与-t相反。
  • -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口,程序访问是通过宿主机映射端口来访问容器的。可以使用多个-p做多个端口映射。
  • -e:表示添加容器的环境变量。
  • –rm:让容器在退出时,自动清除挂在的卷,以便清除数据。等价于在容器退出后,执行docker rm -v。
交互式的方式创建容器:

这样的方式我们直接就进入了容器内部

docker run -it --name=容器名称 镜像名称:标签 /bin/bash
后台式创建容器:

这样的方式创建成功之后没有进入容器内部

docker run -id --name=容器名称 镜像名称:标签

如果想要进入容器内部可以用下面的命令:

docker exec -it 容器名称(或者容器ID) /bin/bash
目录映射

我们可以在创建容器的时候通过 -v参数,将宿主机的目录文件与容器内的目录文件进行映射,这样我们就可以通过修改宿主机目录文件从而去影响容器。

#格式:创建容器 –v 宿主机的目录:容器的目录

docker run -id -v /usr/local/dunm.rdb:/data/dunm.rdb --name=myRedis redis:latest
通过镜像文件创建容器
docker run -id --name=docker_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=rootcentos/mysql-57-centos7

MYSQL_ROOT_PASSWORD参数表示登录MySQL的root用户的密码。

配置容器磁盘使用空间大小
docker run -it --storage-opt size=120G fedora /bin/bash

镜像

列出镜像
docker images

字段说明:

  • REPOSITORY:镜像名称
  • TAG:镜像标签
  • IMAGE ID:镜像ID
  • CREATED:镜像的创建日期(不是获取该镜像的日期)
  • SIZE:镜像大小
删除镜像

删除某个镜像

docker rmi 镜像ID

删除所有镜像

docker rmi $(docker images -q)
强制删除所有镜像
docker rmi -f $(docker images -q)
搜索镜像
docker search 镜像名
拉取镜像
docker pull 镜像名:版本

如果不加版本默认会为下载latest版本

制作镜像
docker build -t 镜像名 .

最后是有个“.”的,表示使用当前目录的Dockerfile构建;

-t参数表示制成的镜像名,可任意定义。

修改镜像的tag和name
docker tag 9aed1ced115f imagename:1.0.4
清理Build缓存
docker builder prune

docker-compose

启动服务

该命令十分强大,它将尝试自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。

docker-compose up -d · # 不写服务名,默认启动docker-compose.yml所有服务
docker-compose up -d 服务名 # 启动docker-compose.yml的对应服务

默认情况,如果服务容器已经存在,docker-compose up 将会尝试停止容器,然后重新创建(保持使用 volumes-from 挂载的卷),以保证新启动的服务匹配 docker-compose.yml 文件的最新内容。但是不会更新已经打好的镜像,如果镜像错误,不能通过 docker-compose up 更新镜像,只能先删除镜像。如果用户不希望容器被停止并重新创建,可以使用 docker-compose up --no-recreate。这样将只会启动处于停止状态的容器,而忽略已经运行的服务。如果用户只想重新部署某个服务,可以使用 docker-compose up --no-deps -d <SERVICE_NAME> 来重新创建服务并后台停止旧服务,启动新服务,并不会影响到其所依赖的服务。

停止服务

此命令将会停止 up 命令所启动的容器,并移除网络,但是不会移除已经打好的镜像。

docker-compose down · # 不写服务名,默认停止docker-compose.yml所有服务
docker-compose down 服务名 # 停止docker-compose.yml的对应服务

进入指定的容器

进入指定的容器。和docker的exec命令一样。

docker-compose exec 服务名 bash

列出项目中目前的所有容器

docker-compose ps # 列出所有运行的服务
docker-compose ps -q # 只列出容器的ID信息
选项:
-q 只打印容器的 ID 信息。

查看服务容器内运行的进程

查看所有服务容器内运行的进程,或者查看指定服务名的容器内运行的进程。

docker-compose up -d
docker-compose top 服务名

重启服务

-t:指定多少秒之后重启,默认10s

docker-compose restart # 对整个项目操作,默认重启全部服务
docker-compose restart 服务名 # 只重启该服务
docker-compose restart -t 20 # 20s之后重启服务

删除整个项目或者指定id的服务

删除整个项目或者指定id的服务(针对已经停止的服务)
-f:强制删除没有停止的服务
-v:删除容器所挂载的数据卷

docker-compose rm 服务名
docker-compose rm -f tomcat

日志

进入docker-compose.yml同级目录

全屏滚到底部显示最后N行并继续持续输出日志并显示时间戳:

docker-compose logs -f -t --tail=10

全屏滚到底部并继续持续输出日志:

docker-compose logs -f

全屏滚到底部结束:

docker-compose logs

查看指定服务:

docker-compose logs [服务名]
  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值