一切福田,不離方寸,從心而覓,感無不通。

docker安装kafka

  from:https://www.cnblogs.com/linjiqin/p/11891776.html

龙生   02 Nov 2020
View Details

将VirtualBox里安装的虚拟机在后台运行方法(在状态栏隐藏窗口)

由于工作和学习需要,经常要开一个虚拟机开测试和开发,虚拟机我选择Oracle公司的VirtualBox(用了几年了,感觉不错的一款产品),经常开着这个窗口感觉有些浪费资源,这样隐藏窗口就在需求了。 将VirtualBox里安装的虚拟机在后台运行方法(在状态栏隐藏窗口) 开始=>运行=>cmd进入DOS窗口

  这在Linux系统和MAC上同样适用,只要替换成相应的命令即可   解释:其中 master 是这个虚拟机的名称 Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。<br>Headless模式针对在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。   from:https://www.cnblogs.com/foonsun/p/5709784.html

龙生   02 Nov 2020
View Details

Docker入门 第三课 --Docker几个常用命令

平时使用Docker,主要是用客户端 Kitematic,但 Kitematic 只实现了基本的使用功能,如果想更深入的使用Docker,命令行还是必不可少的。 前两课中,已经介绍过几个Docker命令:

这里记录几个Docker使用过程中,最容易用的的基础命令,包括镜像构建,镜像操作,容器使用。 镜像构建: docker build [OPTIONS] PATH | URL | –   -t name:tag   表示给镜像命名,并指定标签(相当于版本号) -f Dockerfile  指定Dockerfile文件,默认为’PATH/Dockerfile’,即当前目录下的Dockerfile-t name:tag   表示给镜像命名,并指定标签(相当于版本号) PATH     表示本地工作目录(也就是命令最后的 . ,我这里是项目文件夹) 示例:(注意命令的执行目录和工作目录) docker build -t slide-verify:1.0 . 镜像操作命令: 查看本机镜像:docker images 移除指定镜像: docker image rm 镜像ID docker rmi 镜像ID 清除无效镜像:docker image prune(清除没有名称且未被使用的镜像) 查看镜像信息:docker inspect 镜像ID 容器操作命令: 运行容器:docker run -it -p 5000:80 --name slide-verify10 slide-verify:1.0 查看运行中的容器: docker ps docker container ls 查看全部容器:docker ps -a 移除容器:docker container rm 容器ID   启动容器:docker start 容器ID 关闭容器:docker stop 容器ID 重启容器:docker restart 容器ID   进入容器:docker exec -it 容器ID /bin/bash (相当于远程登录虚拟机) 退出容器:exit […]

龙生   02 Nov 2020
View Details

Docker入门 第二课 --镜像构建,Dockerfile解读

今天聊一聊Dockerfile,docker build,希望通过这篇文章,能让你对docker镜像构建过程有一个认识。 事情还得从一次Docker镜像创建失败说起。 问题背景: 环境VS2017,dotnet 2.1 版本 ,使用默认生成的Dockerfile文件,当我使用docker build命令创建镜像的时候,竟然报错了

  错误信息是,第6步,找不到指定的文件或文件夹,由于我执行docker build命令的路径与 项目文件(xxx.csproj)在同一目录下,所以,这个文件找不到也很正常,那到底是哪里出问题了呢?我们来捋一捋。   执行docker build命令的路径与项目文件(xxx.csproj)在同一路径。 docker build 命令如下:

  Dockerfile内容如下:

  Docker镜像生成原理: Docker镜像与操作系统镜像本质上是一样的,首先需要一个基础镜像,然后在基础镜像上搭建所需环境,安装软件,最后生成一个新的镜像,新的镜像就可以在Docker中进行部署,生成容器实例,从而开始运行服务。   Dockerfile中的命令: 从上面Dockerfile中,我们可以看到有这几个命令:FROM,WORKDIR,EXPOSE,COPY,RUN,ENTRYPOINT,大概了解一下这几个命令的意思。 FROM:    指定一个基础镜像 WORKDIR:  在镜像内指定一个目录,作为当前工作目录 EXPOSE:     指定端口号 COPY:    从一个目录(这个目录可以是本地目录或中间镜像的目录)中复制文件或者目录到容器里指定路径 RUN:       在镜像内执行相应命令 ENTRYPOINT: 入口点,与RUN类似,同样是执行程序命令,表示容器启动时需要执行的命令。   Dockerfile文件解读:  我们来解读一下这个Dockerfile

  解读完之后,我们了解了这个Dockerfile究竟做了哪些事情。   镜像构建命令: 然后看一下Docker镜像构建命令:docker build。 命令行输入:docker build --help,可查看完整使用方式,此处省略。 Usage: docker build [OPTIONS] PATH | URL | – 下面是我使用的构建命令:

  -t name:tag   表示给镜像命名,并指定标签(相当于版本号) -f Dockerfile  指定Dockerfile文件,默认为’PATH/Dockerfile’,即当前目录下的Dockerfile PATH     表示本地工作目录(也就是命令最后的 . ,我这里是项目文件夹)   发现问题: 到这里不难发现,由于镜像构建命令的执行目录与项目文件所在目录一致,并且命令中PATH指定的是当前目录(.),也就是项目文件所在目录,而Dockerfile中文件复制命令明显是在项目文件的上一级,即解决方案文件夹目录, 这样问题似乎就容易解决了,将构建命令改成下面的格式,果不其然,构建成功。

  然后执行docker run命令,运行构建好的镜像,启动成功,浏览器访问:http://192.168.99.100:5008/  ,项目成功运行。

    使用进阶: 我们回头再看一下Dockerfile文件,文件中的5到14行命令,包含了源码复制,项目还原(restore),构建(build),发布(publish)几个步骤。

  […]

龙生   02 Nov 2020
View Details

Docker run 命令

docker run :创建一个新的容器并运行一个命令 语法

  OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="nginx-lb": 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型; --link=[]: 添加链接到另一个容器; --expose=[]: 开放一个端口或一组端口; --volume , -v: 绑定一个卷 实例 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

  使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。

  使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

  绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

  使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

  from:https://www.runoob.com/docker/docker-run-command.html

龙生   02 Nov 2020
View Details

如何在已停止/未启动的Docker容器中编辑文件

有两种可能性。 1) 直接在主机上编辑文件系统 。这有些危险,并且有可能完全破坏容器,并可能根据发生的问题而破坏其他数据。 2) 将启动脚本更改为 永不失败的内容,例如启动bash,进行修复/编辑,然后将启动程序再次更改为所需的程序(例如节点或之前的版本)。 更多细节: 1)使用

查找正在运行的容器或

查找所有容器(包括停止的容器)并

查找“ Id”,第一个值之一。 这是包含实现细节的部分,可能会更改,请注意,这样可能会丢失容器。 去

在那里您将找到所有更改为容器所基于的图像的文件。您可以覆盖文件,添加或编辑文件。 同样,我不建议这样做。 2)您可以在以下路径找到配置jsonconfig.json

在那里,您可以将参数从“ nodejs app.js”更改为“ / bin / bash”。现在重新启动docker服务并启动容器(您应该看到它现在已正确启动)。你应该用

确保它不会立即退出。您现在可以使用容器和/或以后再附加

另外,docker cp对于复制在容器外部编辑的文件非常有用。 同样,如果容器无论如何或多或少地“丢失”,则应该只使用那些措施,因此任何更改都是一种改进。   参考:http://codingdict.com/questions/53248

龙生   02 Nov 2020
View Details

redis 连接字符串,设置密码

<add name="Abp.Redis.Cache" connectionString="127.0.0.1:6379,password=123456"/> 参考:https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Configuration.md   from:https://www.cnblogs.com/lishidefengchen/p/10656327.html

龙生   02 Nov 2020
View Details

【Docker】解决创建Redis容器没有conf配置文件

序言 这篇文章没有什么知识点,只是为了新伙伴少踩点坑 1. 问题重现 创建容器 2. 解读参数 -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -p: 端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --ip: 为容器制定一个固定的ip --net: 指定网络模式 3. 进入容器查看redis.conf文件 发现是并没有redis.conf文件的,那么这个时候就是新手踩坑阶段了,因为没有系统的学习docker所以会花费很多时间   2. 解决问题 没有配置文件这件事呢!那是因为redis容器里边的配置文件是需要在创建容器时映射进来的 那么就需要删除我们之前创建好的容器,在删除前需要先停止容器后才可以删除 停止容器:docker container stop redis-test 删除容器:docker container rm redis-test 1. 开始重新创建redis容器 docker run -itd  --name  redis-slave  -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data  --net mynetwork  -p 6381:6379  --ip 172.10.0.3  redis 参数解释: -v /usr/local/redis/redis.conf:/etc/redis.conf:映射配置文件 -v /root/usr/local/redis/data:/data:映射数据目录 那么这个时候就有redis配置文件了   搭建同意的挂载外部配置 上边是在我宿主机有redis的情况下的,那么下来说宿主机没有redis的情况 这里说的映射其实就是挂载外部配置和数据安装 1. 创建docker统一的外部配置文件 mkdir -p docker/redis/{conf,data} 2. 在conf目录创建redis.conf的配置文件 touch /docker/redis/conf/redis.conf 3. redis.conf文件的内容需要自行去下载,网上很多 4. 创建启动容器,加载配置文件并持久化数据 docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server […]

龙生   02 Nov 2020
View Details

docker安装Redis并设置密码

1.搜索镜像

2.拉取镜像

3.创建Redis容器并设置密码

4.备注 为现有的redis创建密码或修改密码的方法: 1.进入redis的容器 docker exec -it 容器ID bash 2.进入redis目录 /usr/local/bin 3.运行命令:redis-cli 4.查看现有的redis密码:config get requirepass 5.设置redis密码config set requirepass ****(****为你要设置的密码) 6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码   from:https://www.cnblogs.com/zhangzimo/p/12753563.html

龙生   02 Nov 2020
View Details