Docker容器技术
Docker是什么 Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup、namespace、以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面 的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离进程,因此也称其为容器。 Docker在容器的基础上,进行了进一步的封装...
2024-01-10Docker多种环境
我想把头围在Docker上,但是很难弄清楚。我试图在我的小项目(MERN堆栈)中实现它,并且我在思考如何区分开发(可能是登台)和生产环境。我看到了一个示例,其中他们使用了2个Docker文件和2个docker-compose文件(每个对都包含一个env,因此Dockerfile +docker-compose.yml用于prod,Dockerfile-dev + docker-compose-dev.ym...
2024-01-10Docker 打印日志
示例跟踪日志是调试实时运行的应用程序的较不麻烦的方法。此示例重现了传统tail -f some-application.logon容器的行为7786807d8084。docker logs --follow --tail 10 7786807d8084此命令基本上显示了容器进程(具有pid 1的进程)的标准输出。如果您的日志本身不包含时间戳,则可以添加该--timestamps标志。可以查看已停...
2024-01-10Docker学习第一课
1、拉取镜像命令docker pull php:7.2.0-cli-alpine2、启动容器并执行命令docker run -it --name php-cli php:7.2.0-cli-alpine php -m3、查看container 列表命令docker ps 4、删除某一containerdocker rm php-cli5、挂载文件并执行PHP脚本docker run -it --name php-cli -v /root/php/:/script/ php:7.2.0-cli-alpine ...
2024-01-10Docker 的前世今生
一、Docker 介绍容器技术被认为是未来部署软件的主流趋势之一,高性能,轻量级及跨平台是容器技术的主要特征,传统的应用部署过程大概是:下载软件->编译安装->启动软件,比如现在要安装 LNMP 软件,就得先下载 Nginx+Mysql+PHP,然后一个个安装,这对于一两台服务器时还能接受,要是面对成千上万的...
2024-01-10无法运行Docker容器
我想交互式执行Docker容器。无法运行Docker容器我从图像中创建它像这样docker create 80597e5353eb ,其输出的ID:7372c2d60d513431026a40c50d6f1433e1bc62c57bca4086587193b24c329535 然后我做docker start对ID:docker start 7372c2d60d51 但随后,当我尝试执行容器时:docker exec -it 7372c2d60d51 /bin/bash 我得到:Error response...
2024-01-10Docker基本使用方法
https://www.cnblogs.com/adolfmc/p/10179906.htmlDocker 安装和基础用法 root@devstack:/home/sammy# docker create --name web31 training/webapp python app.py #创建名字为 web31 的容器7465f4cb7c49555af32929bd1bc4213f5e72643c0116450e495b71c7ec128502root@devstack:/home/sammy# do...
2024-01-10Docker加载内核模块
我尝试安装内核模块xfsprogs。它已成功安装在容器内。确实令人惊讶,但是lsmod没有在容器内或主机系统中列出此模块。如何在容器中装入新的内核模块?(CentOS容器,Ubuntu主机)回答:容器通过系统调用与内核交互,并且不包含内核的任何部分或容器内部的内核模块。这就是为什么容器设计轻巧且便...
2024-01-10Docker的OOM事件
OOM(Out Of Memory)内存不足,通常是由于某些不稳定的进程占用过多的内存造成,在Docker中称为OOM事件,当容器使用的内存过多时就会发生OOM事件,这个事件是由Linux内核的内存管理机制发起,并将是使用占用内存过多的容器Kill掉,保证系统的可持续运行。Linux内核为了保证系统的稳定性而将内存划分为两...
2024-01-10浅谈Docker数据持久化
容器中数据持久化主要有两种方式:数据卷(Data Volumes)数据卷容器(Data Volumes Dontainers)数据卷数据卷是一个可供一个或多个容器使用的特殊目录,可以绕过UFS(Unix File System)。数据卷可以在容器之间共享和重用对数据卷的修改会立马生效对数据卷的更新,不会影响镜像数据卷默认会一直存...
2024-01-10Docker使用两小时入门
欢迎观看原文链接: https://mp.weixin.qq.com/s/eAJpnEfjflVr76iPVHN6rA 本篇是在观看以上链接内容, 做的一个个人整理和思考的笔记 docker容器的优势 更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统 资源的利用率更高。无论是应用执行速度、内存...
2024-01-10Docker 交互式运行容器
示例要以交互方式运行容器,请传递以下-it选项:$ docker run -it ubuntu:14.04 bashroot@8ef2356d919a:/# echo hihiroot@8ef2356d919a:/#-i保持STDIN打开,同时-t分配伪TTY。...
2024-01-10阻止外部访问Docker容器
我想阻止从外部直接访问docker容器。我使用haproxy,并且只希望访问端口80、443。我在iptables中添加了以下规则。但是我仍然可以通过不同的端口访问Docker容器。*filter:INPUT DROP [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j A...
2024-01-10基于Docker的主从复制搭建
利用Docker搭建主从服务器首先拉取docker镜像,我们这里使用5.7版本的mysql:docker pull mysql:5.7.19然后使用此镜像启动容器,这里需要分别启动主从两个容器Master(主):docker run -p 3339:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.19Slave(从):docker run -p 3340:3306 --name mymysql -e MYSQL_ROOT_PASS...
2024-01-10使用Docker部署MSSQL
部署MSSQL需要2G内存1.下载镜像docker pull microsoft/mssql-server-linux使用该命令就可以把数据库的docker镜像下载下来。2.创建并运行容器docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux这个密码需要复杂密码,要有大小写和特殊符号,替...
2024-01-10Docker中的SSH端口转发
我有这两个容器,例如backend(CentOs)和mongo。我想拥有的是,可以从backend容器中连接到mongo数据库,就像它在本地运行一样,$>mongo localhost:27017无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017$backend> ssh -L 27017:mongo:27017 root@mongo但是,如果执行此操作,则必须提供root密码,然...
2024-01-10Shell脚本启停Docker
最近日常测试中经常需要手动启动或停止docker,于是决定写一个Shell脚本来代替人工操作,另外该脚本,也可以通过Python脚本实行远程调用,详细如下所示:目前该脚本是将Container ID写死在脚本中,当然也可以通过传参给脚本来进行控制,大家可以改造一下。启动docker启动脚本详细如下所示:...
2024-01-10如何备份和还原Docker容器?
Docker使我们能够自动化构建和部署应用程序的过程。它还允许我们创建一个打包的环境来运行该应用程序,从而使其易于移植且轻巧,同时还可以跟踪版本。所有这些都可以通过Docker容器实现。它有助于使应用程序平台独立。假设我们的计算机中运行着一个docker容器,我们想要对该容器进行快照或保留...
2024-01-10将主机端口转发到Docker容器
主机可以打开Docker容器访问端口吗?具体来说,我在主机上运行了MongoDB和RabbitMQ,我想在Docker容器中运行一个进程以侦听队列并(可选)写入数据库。我知道我可以将端口从容器转发到主机(通过-p选项),并可以从Docker容器中连接到外部环境(即Internet),但我不想公开RabbitMQ和MongoDB端口从主持人到...
2024-01-10禁用从Docker容器访问LAN
我在Docker中使用Ubuntu容器运行Gentoo主机。他们通过Docker自动创建的网桥进行通信。我想丢弃可能来自容器的192.168.0.0/16的所有流量。$sudo iptables -S-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT-A FORWARD -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 443 -j ACCEPT-A FORWARD -o docker0...
2024-01-10如何在Docker容器中列出卷?
使用来自注册表的docker映像时,我经常需要查看映像容器创建的卷。注意:我在Red Hat 7上使用Docker版本1.3.2。回答:postgres来自Docker Registry 的官方映像在处为容器配置了一个卷/var/lib/postgresql/data。/var/lib/postgresql/data在postgres容器中显示体积最简洁的命令是什么?回答:使用docker ps来获取容器ID。然后...
2024-01-10Docker在实际工作中的作用?
新手,谁有实际工作经验的,说说Docker在实际工作中的具体使用场景吧,谢谢!回答:docker的正确用法应该是作为K8S中的一个pod来跑应用。项目里配置好 Dockerfile,配置好 .gitlab-ci.yaml提交项目到 gitlab,gitlab 根据配置文件执行程序部署gitlab 自动打包 docker 镜像gitlab 把 docker 镜像推送到景象仓库gitlab 触发 K...
2024-02-26如何在Docker容器中播放声音
我正在尝试将文本语音转换应用程序与其他开发人员共享,但是我现在遇到的问题是Docker容器无法在主机上找到声卡。当我尝试在Docker容器中播放WAV文件时root@3e9ef1e869ea:/# aplay Alesis-Fusion-Acoustic-Bass-C2.wavALSA lib confmisc.c:768:(parse_card) cannot find card '0'ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_fun...
2024-01-10详解Docker目录挂载的方法总结
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:# docker run -it -v /test:/soft centos /bin/bash这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参...
2024-01-10