Docker常用命令

Docker常用命令

1. 帮助命令
docker version        # 查看docker版本信息
docker -v             # 查看docker版本信息
docker info           # 查看docker系统信息,包括容器和镜像的数量
docker 命令 --help    # 查看命令的帮助信息,可以看到命令的所有选项
2. 镜像命令
# 1. 查看镜像
docker images                # 列出本地所有的镜像
docker images -a             # 列出本地所有的镜像(含中间映像层,默认情况下,不加-a选项会过滤掉中间映像层)
docker images -q             # 只显示本地所有的镜像的id
docker images -aq            # 显示本地所有的镜像的id,包括中间映像层
# 2. 搜索镜像 
docker search 镜像名          # 可以根据镜像名进行搜索,例如:docker search mysql
docker search -f             # 对搜索结果进行过滤
# 3. 拉取镜像
docker pull 镜像名            # 没有指定镜像的版本号(tag),默认拉取的是最新版本(latest)
docker pull 镜像名:版本号      # 指定版本进行拉取,例如docker pull mysql:5.7
# 4. 删除镜像
docker rmi 镜像id                    # 根据镜像id删除镜像
docker rmi -f 镜像id                 # 强制删除镜像
docker rmi -f $(docker images -q)   # 强制删除所有镜像
# 5. 提交镜像
(提交镜像的命令应该在宿主机运行,而不是在容器内运行)
docker commit 容器id 镜像名:版本号
# 6. 保存镜像(导出镜像)
docker save flink:v1.0  -o  /test/flink-v1.0.tar
# 7. 加载镜像(导入镜像)
docker load -i flink-v1.0.tar
3. 容器命令
# 1. 新建容器并启动
docker run [可选参数] 镜像名
# 可选参数
--name="容器名"           # 指定容器名字,用来区分多个容器
-d                       # 容器以后台方式运行
-it                      # 使用交互方式运行,可以进入容器查看内容
-p                       # 端口号映射
-P                       # 随机指定端口号
例如:
docker run -it -p 8088:8080 --name="centos1" centos /bin/bash
表示新建并以交互方式启动一个名为centos1的容器,主机的端口号8088映射容器内的8080端口
docker run -d centos
以后台方式运行容器,但是如果使用docker ps命令查看正在运行的容器会发现没有我们这个centos容器,原因就是容器要后台运行,必须要有一个前台进程,docker发现没有应用,就会自动停止
# 2. 退出容器
exit                    # 容器停止并退出
Ctrl+P+Q                # 容器不停止退出
# 3. 查看容器
docker ps               # 列出所有正在运行的容器
docker ps -a            # 列出所有正在运行的容器以及已经停止运行的容器
docker ps -q            # 只显示正在运行的容器的id
docker ps -aq           # 显示正在运行的容器以及已经停止运行的容器的id
docker ps -n=x          # 列出最近的x个容器,x可以是任何数字
# 4. 删除所有容器
docker rm 容器id               # 根据容器id删除容器,无法删除正在运行中的容器
docker rm -f 容器id            # 强制删除容器,可以删除正在运行中的容器
docker rm -f $(docker ps -aq) # 强制删除所有容器
# 5. 启动和停止容器的操作
docker start 容器id           # 启动容器
docker restart 容器id         # 重启容器
docker stop 容器id            # 停止当前正在运行的容器
docker kill 容器id            # 强制停止当前正在运行的容器
# 6. 进入容器
docker exec -it 容器id /bin/bash
docker attach 容器id
二者的区别是:
docker exec:    #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach:   #进入容器正在运行的终端,不会启动新的终端

注意: 新建并启动一个容器的命令docker run,我们经常是直接在命令的最后面加上一个镜像名,这样可以正常启动的前提是会去启动镜像的最新版本,也就是tag为latset的那个镜像,但是如果这个镜像没有latest版本,那么直接加一个镜像名启动容器就会报错,这种情况下我们启动容器应该在镜像名后面带上版本号tag,或者直接用镜像id,就可以避免这种错误的产生。

如下图:由于tomcat02这个镜像只有tag为v1.1,没有latest,所以直接使用镜像名启动会报错,正确的写法应该是:

docker run -it tomcat02:v1.1
或者
docker run -it 0da700aa99c0

在这里插入图片描述
我们经常会需要进入到容器中,所以应该对容器内的目录有一个了解,一般容器的目录都是这样的:
在这里插入图片描述

4. 其它命令
# 1. 把容器内的文件拷贝到主机
docker cp 容器id:容器内路径 宿主机路径
# 2. 把宿主机内的文件拷贝到容器内
docker cp 宿主机路径 容器id:容器内路径
# 3. 查看日志信息
docker logs 容器id
# 4. 查看一个镜像的构建过程
docker history 镜像id
# 5. docker修改镜像和容器的默认存储目录
vim /etc/docker/daemon.json 
添加一行:"data-root": "/www/docker"
# 6. 查看docker运行状态:
service docker status 
# 7. 打开/关闭/重启docker服务
service docker start/stop/restart 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值