Docker常用命令集合

标签: Docker 分类: 软件 创建时间:2020-03-14 01:14:51 更新时间:2024-11-15 10:49:43

1.安装CentOS镜像

1
2
## 拉取最新的镜像
docker pull centos

1.Run和Exec命令

(1) “docker run”通常是在新创建的容器中所使用的命令。 它适用于在没有其他容器运行的情况下,您想要创建一个容器,并且要启动它,然后在其上运行一个进程。在“docker run”命令之后,您必须通过指定镜像来创建容器,同时还可以指定的[OPTIONS]和[ARG…],

(2) docker exec”适用于在现有容器中运行命令的情况。如果您已经拥有了一个正在运行的容器,并希望更改该容器或从中获取某些内容,那么使用“docker exec”命令就非常合适了。例如,如果您使用了 docker-compose,那么您可能会启动多个容器,并且希望能够在创建它们后访问其中的一个或多个容器。

(3) Docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

2.基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
## 运行一个镜像,并启动命令行
docker run -d -i -t <imageID> /bin/bash
#退出,但不停止容器
Ctrl+P+Q
#回到Docker下面,停止容器
docker stop <容器ID>
#提交当前容器到镜像
docker commit <容器ID> <NAME/VERSION>
#启动新容器,并且进行端口映射
docker run -itd -p 50001:22 <刚才提交的镜像ID> /bin/bash
## 连接到正在运行中的容器
docker attach [OPTIONS] CONTAINER

## 连接正在运行的容器,并执行命令
docker exec -it [容器名或者是id号] /bin/bash

# 列出所有的容器 ID
docker ps -aq

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

# 删除所有的容器
docker rm $(docker ps -aq)

# 删除所有的镜像
docker rmi $(docker images -q)

## 查看全部镜像
docker images

# 删除所有不使用的镜像
docker image prune --force --all
docker image prune -f -a

# 删除所有停止的容器
docker container prune:

## 进行文件拷贝,将当前目录下(我直接在windows的下载文件夹下)的文件,拷贝到springboot容器的/cloud目录下
docker cp .\openjdk-13_linux-x64_bin.tar.gz springboot:/cloud

3.测试nginx

1
2
3
4
## 下载nginx镜像
docker pull nginx
## 开启端口映射
docker run --name nginx -d -p 8081:80 nginx

这样就可以简单的在windows的浏览器上查看nginx的启动情况了。

4.打包自己的镜像

5.查看docker启动日志

在使用docker run 进行日志启动的时候,可能会出现一些问题,导致容器启动不了,这个时候如何进行查看呢?

1
2
3
4
5
6
7
8
## 查看全部容器,包括未启动的容器
docker ps -a
## 查看日志位置
docker inspect --format '{{.LogPath}}' 容器id
## 查看日志
vim 地址
## or
docker logs 容器id
小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。