docker配置文件更新|如何修改Docker版的buntu镜像的root密码以及公钥

❶ 如何对 docker 容器里的 nginx 进行热更新

你好,通常都会选择把nginx的配置文件放在docker宿主机上,然后在宿主机完成配置的修改后reload容器中的nginx就好了 docker exec -i [nginx容器名/id] nginx -s reload

❷ 如何修改Docker版的buntu镜像的root密码以及公钥

安装Docker借助apt-get命令,安装Docker是件轻而易举的事。$ sudo apt-get install docker.io 为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。$ sudo usermod -a -G docker $USER 退出,然后重新登录,以激活群组成员的变化。下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。$ sudo vi /etc/default/docker.io DOCKER="/usr/bin/docker.io" 重启Docker服务。$ sudo service docker.io restart 管理Docker容器如果你想启动Ubuntu操作系统的一个新的Docker容器,首先需要获取Ubuntu Docker映像文件。下面这个命令会通过网络下载Docker映像文件。$ docker pull ubuntu 你可以以一种交互模式来开启Ubuntu Docker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。$ docker run -i -t ubuntu /bin/bash 上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu操作系统了。想退出Docker容器,在容器里面的提示符处键入“exit”。你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令:$ docker.io run -i -t fedora /bin/bash 如果本地没有Fedora Docker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu 13.04 Docker,请执行下面这个命令:$ docker.io run -i -t ubuntu:13.04 /bin/bash 容器网络Docker使用linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0 Linux网桥。你创建的每个容器都将连接到docker0网桥接口。自定义Linux网桥如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。$ sudo apt-get install bridge-utils $ sudo brctl addbr br0 $ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0

❸ 怎样修改docker服务启动配置文件

安装Docker借助apt-get命令,安装Docker是件轻而易举的事。$ sudo apt-get install docker.io 为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。$ sudo usermod -a -G docker $USER 退出,然后重新登录,以激活群组成员的变化。下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。$ sudo vi /etc/default/docker.io DOCKER="/usr/bin/docker.io" 重启Docker服务。$ sudo service docker.io restart 管理Docker容器如果你想启动Ubuntu操作系统的一个新的Docker容器,首先需要获取Ubuntu Docker映像文件。下面这个命令会通过网络下载Docker映像文件。$ docker pull ubuntu 你可以以一种交互模式来开启Ubuntu Docker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。$ docker run -i -t ubuntu /bin/bash 上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu操作系统了。想退出Docker容器,在容器里面的提示符处键入“exit”。你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令:$ docker.io run -i -t fedora /bin/bash 如果本地没有Fedora Docker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu 13.04 Docker,请执行下面这个命令:$ docker.io run -i -t ubuntu:13.04 /bin/bash 容器网络Docker使用Linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0 Linux网桥。你创建的每个容器都将连接到docker0网桥接口。自定义Linux网桥如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。$ sudo apt-get install bridge-utils $ sudo brctl addbr br0 $ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0

❹ 如何操作docker 容器的配置文件

步骤1:为我们的容器创建第一个镜像# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令# 注:-t -i 参数用于创建一个虚拟的命令行。sudo docker run -t -i centos /bin/bash 现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:yum -y update # 更新软件包yum install which # 安装which命令yum install git # 安装Git安装完成后,按 Ctrl + d 来退出容器的命令行。# 执行sudo docker ps -a,可以看到被我们终止的容器CONTAINER ID IMAGE COMMAND CREATED……da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..把我们所做的改变提交到一个新的容器:# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。sudo docker commit da90 custom/base容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。REPOSITORY TAG IMAGE ID CREATED custom/base latest 05b6cecd370b 2 minutes ago centos 6.4 539c0211cd76 10 months ago centos latest 539c0211cd76 10 months ago…步骤2:创建新的容器,并安装 apache# 以 custom/base 容器为基础,运行一个新的容器。sudo docker run -t -i custom/base /bin/bash# 安装 httpdyum install httpd步骤3:再次提交新的容器按 Ctrl + d 来退出容器的命令行,然后执行命令:# 这个命令会把步骤2中我们安装 httpd 带来的改变提交到新的名为 custom/httpd 的容器镜像中。你的容器 id 可能会和文章中有所不同,以 sudo docker ps -a 命令的结果为准。sudo docker commit aa6e2fc0b94c custom/httpd你应该已经发现了,我们创建了一个带有 http 服务器并可以复用的容器镜像。你可以根据这种思想,为自己所需的每个组件都创建一个容器,然后把这些容器复用于开发环境或者生产环境。步骤7:运行 http 服务器# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.# -v 参数把主机共享给虚拟机的一个卷挂载到容器中# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile # -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash# 启动 Apacheapachectl -k start

❺ k8s通过api如何更新deployment的配置文件

k8s实现微服务框架1.k8s是非常好的一项技术,很稳定。如果发现正在运行的pod的数量不等于用户设定的期望值,k8s则会自动创建或者删除pod,直到两者相等。这样既保障了服务的不间断运行,同时还可以动态缩放服务的规格。用户只要调整pod的replicate的数量即可,其他的都交给k8s就好,非常省心。2.要用jenkins来集成命令行操作,虽然我个人非常偏爱使用命令行,但是我不得不承认用jenkins集成命令行操作会极大的提升工作效率。下面说实现步骤:(本文以azure平台为例)1.编写Dockerfile2.在jenkins创建任务,并执行包含如下命令的脚本2.1gitpull源代码到本地2.2dockerbuild命令生成镜像文件2.3docker定义镜像文件版本号并上传到azure平台2.4kubectl命令来创建k8s的deployment&service.2.5每次版本更新可以调用updateimage来编译新的镜像版本并提供给k8s使用注意在创建k8s的deployment和service的时候需要编写yaml格式的配置文件,deployment配置包括名称,镜像文件地址,cpu最大最小分配值,内存最大最小分配值等。service配置文件包括名称,引用的deployment名称,以及是否使用loadbalancer等。

❻ docker-compose.yml修改之后,怎样更新现有的Container

重新 docker-compose build 然后 docker-compose up -d

❼ 如何在Ubuntu中升级Docker

1. 停止docker服务service docker stop

2.下载最新版本wget https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz

3.解压下载的软件包 tar zxvf docker-latest.tgz

4.备份原docker文件mv /usr/bin/docker /tmp

5.将第三步的解压的docker文件复制到/usr/bin下mv docker /usr/bin

6.重启docker服务 service docker start

7. 查看升级版本.docker version

如下图

❽ 如何在Fedora / CentOS上面升级Docker 1.6

Docker,一个流行的将软件打包的开源容器平台,已经有了新的1.6版,增加了许多新的特性。该版本主要更新了Docker Registry、Engine、 Swarm、 Compose 和 Machine等方面。这次发布旨在提升性能、改善开发者和系统管理员的体验。让我们来快速看看有哪些新特性吧。Docker Registry (2.0)是一项推送Docker镜像用于存储和分享的服务,因为面临加载下的体验问题而经历了架构的改变。它仍然向后兼容。Docker Registry的编写语言现在从Python改为Google的Go语言了,以提升性能。与Docker Engine 1.6结合后,拉取镜像的能力更快了。早先的镜像是队列式输送的,而现在是并行的啦。Docker Engine (1.6)相比之前的版本有很大的提高。目前支持容器与镜像的标签。通过标签,你可以附加用户自定义的元数据到镜像和容器上,而镜像和容器反过来可以被其他工具使用。标签对正在运行的应用是不可见的,可以用来加速搜索容器和镜像。Windows版本的Docker客户端可以连接到远程的运行在linux上的Docker Engine。Docker目前支持日志驱动API,这允许我们发送容器日志给系统如Syslog,或者第三方。这将会使得系统管理员受益。Swarm (0.2)是一个Docker集群工具,可以将一个Docker主机池转换为一个虚拟主机。在新特性里,容器甚至被放在了可用的节点上。通过添加更多的Docker命令,努力支持完整的Docker API。将来,使用第三方驱动来集群会成为可能。Compose (1.2) 是一个Docker里定义和运行复杂应用的工具, 也得到了升级。在新版本里,可以创建多个子文件,而不是用一个没有结构的文件描述一个多容器应用。通过Machine (0.2),我们可以很容易地在本地计算机、云和数据中心上搭建Docker主机。新的发布版本为开发者提供了一个相对干净地驱动界面来编写驱动。Machine集中控制供给,而不是每个独立的驱动。增加了新的命令,可以用来生成主机的TLS证书,以提高安全性。在Fedora / CentOS 上的升级指导在这一部分里,我们将会学习如何在Fedora和CentOS上升级已有的docker到最新版本。请注意,目前的Docker仅运行在64位的架构上,Fedora和CentOS都源于RedHat,命令的使用是差不多相同的,除了在Fedora20和CentOS6.5里Docker包被叫做“docker-io”。如果你系统之前没有安装Docker,使用下面命令安装:"yum install docker-io" – on Fedora20 / CentOS6.5"yum install docker" – on Fedora21 / CentOS7在升级之前,备份一下docker镜像和容器卷是个不错的主意。参考“将文件系统打成 tar 包”与“卷备份、恢复或迁移”,获取更多信息。目前,测试系统安装了Docker1.5。样例输出显示是来自一个Fedora20的系统。验证当前系统安装的Docker版本[[email protected] ~]#sudo docker -vDocker version 1.5.0, build a8a31ef/1.5.0如果Docker正在运行,先停掉。[[email protected] ~]# sudo systemctl stop docker使用yum update升级到最新版,但是写这篇文章的时候,仓库并不是最新版本(1.6),因此你需要使用二进制的升级方法。[[email protected] ~]#sudo yum -y update docker-ioNo packages marked for update[[email protected] ~]#sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker–2015-04-19 13:40:48– https://get.docker.com/builds/Linux/x86_64/docker-latestResolving get.docker.com (get.docker.com)… 162.242.195.82Connecting to get.docker.com (get.docker.com)|162.242.195.82|:443… connected.HTTP request sent, awaiting response… 200 OKLength: 15443598 (15M) [binary/octet-stream]Saving to: /usr/bin/docker100%[======================================>] 15,443,598 8.72MB/s in 1.7s2015-04-19 13:40:50 (8.72 MB/s) – /usr/bin/docker saved检查更新后的版本[[email protected] ~]#sudo docker -vDocker version 1.6.0, build 4749651重启docker服务[[email protected] ~]# sudo systemctl start docker确认Docker在运行[[email protected] ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEfedora latest 834629358fe2 3 months ago 241.3 MB[[email protected] ~]# docker run fedora /bin/echo Hello WorldHello WorldCentOS安装时需要注意,在CentOS上安装完Docker后,当你试图启动Docker服务的时候,你可能会得到错误的信息,如下所示:docker.service – Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled)Active: failed (Result: exit-code) since Mon 2015-04-20 03:24:24 EDT; 6h agoDocs: http://docs.docker.comProcess: 21069 ExecStart=/usr/bin/docker -d $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=127)Main PID: 21069 (code=exited, status=127)Apr 20 03:24:24 centos7 systemd[1]: Starting Docker Application Container E…..Apr 20 03:24:24 centos7 docker[21069]: time="2015-04-20T03:24:24-04:00" lev…)"Apr 20 03:24:24 centos7 docker[21069]: time="2015-04-20T03:24:24-04:00" lev…)"Apr 20 03:24:24 centos7 docker[21069]: /usr/bin/docker: relocation error: /…ceApr 20 03:24:24 centos7 systemd[1]: docker.service: main process exited, co…/aApr 20 03:24:24 centos7 systemd[1]: Failed to start Docker Application Cont…e.Apr 20 03:24:24 centos7 systemd[1]: Unit docker.service entered failed state.这是一个已知的bug(https://bugzilla.redhat.com/show_bug.cgi?id=1207839),需要将设备映射升级到最新。[[email protected] ~]# rpm -qa device-mapperdevice-mapper-1.02.84-14.el7.x86_64[[email protected] ~]# yum update device-mapper[[email protected] ~]# rpm -qa device-mapperdevice-mapper-1.02.93-3.el7.x86_64[[email protected] ~]# systemctl start docker总结尽管docker技术出现时间不长,但很快就变得非常流行了。它使得开发者的生活变得轻松,运维团队可以快速独立地创建和部署应用。通过该公司的发布,Docker的快速更新,产品质量的提升,满足用户需求,未来对于Docker来说一片光明。

❾ docker启动容器后如何更新参数

如果只是restart参数可以用docker container update 命令实现。挂载目录是无法动态修改的,正常的做法是把持久化数据映射出来,然后把原来的容器删除再重新跑一个容器,数据不会丢失,k8s/mesos之类的编排工具的逻辑也是这样的,不针对容器本身做修改。如果非要改,我记得是把docker服务停掉,然后修改docker主目录下容器的配置文件,譬如/var/lib/docker/container/容器id/config.v2.json和hostconfig.json , 然后启动docker和容器。因为操作涉及停服务,所以还不如重新跑一个容器。

❿ 如何调用docker swarm service的API来创建及更新服务

与 Docker Compose 一样, Docker Machine 也是旨在帮助开发人员快速使用Docker的工具。具体地说,就是Machine允许Windows和OS X用户在诸如 Amazon AWS, Google Container Engine, Azure, DigitalOcean等公有云上远程创建Docker主机。Docker客户端安装在本地,你就可以通过它远程访问Docker的API,能达到好像Docker引擎就运行本地一样的体验。Machine需要安装在客户机本地,是用来创建远程Docker主机的单独二进制文件。本地Docker客户端甚至可以是运行在VirtualBox虚拟机上的Docker。它的源代码托管在 Github 。在这篇文章中,我先简单介绍Docker Machine,再讲述怎么用它创建Swarm Docker集群。一旦你从单机测试过度到多机器分布式部署,这工具相当有用。Docker Compose用来启动你在Swarm集群中的应用,这个我会在以后的文章中详细叙述。首先,你的机器上应该安装Docker Machine, 官方的文档 是最好的参考工具。第一步,我将介绍一个此文档中高亮的执行命令。


赞 (0)