avatar

目录
Docker用法总结之常用命令

前两篇介绍了dockerfiledocker-compose.yml文件。本篇将介绍相应的命令。

docker

build

从dockerfile创建镜像

shell
1
docker build . -t name

从docker hub搜索镜像

shell
1
sudo docker search xxx

pull

从docker hub下载镜像

shell
1
sudo docker pull xxx

run

镜像->容器; 运行容器

shell
1
docker run -it -d -p "0.0.0.0:6666:2333" -h "host" -v ./data:/data --name="name" cmd

-it interactive & tty

-d 后台运行

-p 端口映射 本地:容器

-v 挂载数据卷 本地:容器

映射多个端口或挂载多个数据卷的话 就用多个 -p / -v

-h 容器的hostname

–name 容器name

cmd 容器执行的命令

commit

容器->镜像; 打包容器为镜像

shell
1
docker commit container_name image_name

exec

在容器执行命令

和run差不多,run是从镜像创建容器后执行命令,exec是对正在运行的容器执行命令

shell
1
docker exec -it xxx /bin/bash

xxx 为容器名/ID

-it interactive & tty

logs

shell
1
docker logs xxx

xxx 为容器名/ID

images

显示镜像信息

ps

显示容器信息

shell
1
docker ps -a

-a 全部容器,包括已经关闭的

container

容器管理命令

显示容器信息

shell
1
docker container ls -a

相当于

shell
1
docker ps -a

详细信息

shell
1
docker inspect xxx

其他的没啥

cp

本地与容器间复制文件

shell
1
2
docker cp xxx:/home/dir ./
docker cp ./2333 xxx:/home/dir

和scp差不多 格式为 容器名:路径

不用加-r,默认递归复制文件夹下所有文件/文件夹

容器关闭后也可cp

start

开启容器

kill

关掉容器

rm

删除容器

rmi

删除镜像

login

登录docker hub

push

上传镜像

docker-compose

docker-compose命令会根据compose文件中的信息对容器进行相关操作

默认的compose文件是docker-compose.yml,也可以通过-f 指定compose文件:

shell
1
docker-compose -f xxx.yml

所以,须在docker-compose.yml文件所在的文件目录下执行docker-compose命令(如果使用默认compose文件)

创建镜像

根据dockerfile创建镜像,一般是更新dockerfile后使用

shell
1
docker-compose build

启动服务

shell
1
docker-compose up -d

这条命令会启动compose文件中services下定义的所有的容器

-d 选项可让服务后台运行

如果没有build过镜像,这条命令会先build镜像,然后再部署容器

查看进程

shell
1
docker-compose ps -a

-a 选项可显示全部进程,包括正在运行的和已经关闭的

关闭容器

shell
1
docker-compose kill

这条命令会终止compose文件中services下定义的所有的容器

删除容器

shell
1
docker-compose rm -f

这条命令会删除compose文件中services下定义的所有的容器

-f 选项可强制删除(无提示信息)

重启服务

shell
1
docker-compose restart

这条命令会重启compose文件中services下定义的所有的容器

查看日志

如果某个容器挂掉了,查看日志是必不可少的

shell
1
docker-compose logs xxx

xxx 为 services中定义的服务名字

比如

yaml
1
2
3
4
5
version: "3"
services:
webapp:
image: redis:4
# ...

查看日志的命令为

shell
1
docker-compose logs webapp

执行命令

shell
1
docker-compose exec xxx [cmd]

在xxx容器中执行命令

命令必须是绝对路径

e.g. 执行/bin/sh

shell
1
docker-compose exec xxx /bin/sh

run

shell
1
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] SERVICE [COMMAND] [ARGS...]

和docker的差不多

文章作者: TaQini
文章链接: http://taqini.space/2020/03/17/note-for-docker-3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TaQini
打赏
  • Wechat
    Wechat
  • Alipay
    Alipay

评论