我在部署docker的时候遇到的坑

以下总结一些我个人在搭建测试环境之中使用docker的坑

1.docker端口的坑

docker 容器在创建的时候,可以通过-p 指令来映射端口,使外部的网络能通过该端口访问容器的服务。

但是如果容器的端口已经设定,且容器已经运行起来的时候,是无法映射或者更改新的端口的。

所以这个坑要有所注意,不然又得从新commit镜像重新run,浪费时间。

2.docker容器IP地址的坑

docker的镜像一般都是原版centos等慢慢扩展的。网络这块是dhcp模式的,所以每次在重启容器的时候,docker容器的ip地址都是变化的,可能会影响到整个docker容器集群的运行,所以我们要配置docker容器的静态ip,虽然我并不知道如何重启容器的network服务,但是可以保证IP地址的固定

3.docker --link的坑

容器之间要相互通信,可以使用--link选项,那么我们一定要记住或者管理好 --link的创建顺序,因为如果设置了--link的话,该容器在启动之前会自动的去寻找需要通信的容器,如果通信的容器没有启动,该容器是无法启动的,所以我们要按照一定的顺序,有依赖性的启动容器。千万不要把有依赖的容器给删了,不然就是大坑。

4.docker registry私有库和共有库之间转换的坑

我在搭建私有库后,客户端能pull服务端的image,但是该客户端不能pulldockerHUB上的镜像了,这点让我非常囧。经过后续的研究发现,客户端链接服务端需要一个login的操作,那么当客户端想pull dockerHUB的资源时,需要断开私有库的链接。所以需要一个loginout的操作,另外,etc/sysconfgi/docker 中注释掉私有库的配置操作,然后重启docker服务即可。当需要链接私有库的时候,再补充上述操作即可。

5下面补充几个常用的docker 容器操作

1、停用全部运行中的容器:

docker stop $(docker ps -q)1

2、删除全部容器:

docker rm $(docker ps -aq)1

3、一条命令实现停用并删除容器:

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

目前先写这么多,以后遇到坑,以后再填!

时间: 2024-10-21 03:52:10

我在部署docker的时候遇到的坑的相关文章

阿里云部署Docker(2)

之前有一篇文章讲过在阿里云中安装Docker,相对来说那个是安装,但是安装完之后我们一般会碰到问题. 今天我给大家记录一下我的新的解决过程. 环境还是ubuntu12.04,假设我们已经把内核升级到了3.8以上. 便捷安装Docker命令: curl -s https://get.docker.io/ubuntu/ | sudo sh 这样一条指令就完成了安装. 直接执行如下命令: sudo docker run -i -t ubuntu /bin/bash 不行,会报错. 如下: [email

Linux下部署docker记录(1)-Volume使用

之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享.2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数

部署docker容器虚拟化平台

Dcoker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app).几乎没有性能开销,可以很容易地在机器和数据中心中运行.最重要的是,他们不依赖于任何语言.框架或包装系统.   Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源代码托管在Github上, 基于go语言并遵从Apache2

轻轻松松在centos上部署docker服务

首先,因为docker的运行需要linux本身某些组件和内核特性的支持,所以要确保centos的版本大于6,并且内核版本大于2.6.32-431.可以简单的升级centos6到最新版本. sudo yum upgrade 然后安装cgroup sudo yum install libcgroup service cgconfig start #启动croup服务 lssubsys -am 如果安装成功,最后一个命令lssubsys -am会显示所有子系统的挂载点 源码方式安装lxc sudo y

离线手动部署docker镜像仓库——harbor仓库(二)

前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. 实验环境:harbor服务器系统:CentOS Linux release 7.4.1708 (Core)harbor服务器IP:10.0.0.101harbor版本:v1.5.0docker版本:1.13.1另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102 部署过程: 1.下

Centos 7部署docker环境、基本命令使用及简单实战

Docker是一个开源的应用容器引擎,属于Linux容器的一种封装,是目前最流行的Linux容器解决方案.docker可以为任何应用创建一个轻量级.可移植的容器,然后容器可以运行在任何安装有docker的平台上.Docker 的优势:1.更快速的交付和部署对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行.开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码. docker 可以快速创建容器,快速迭代应用程序,大

Centos 7部署docker+nginx+keepalived实现高可用web集群

一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡.nginx负责控制后端web服务器的负载均衡,将客户端的请求按照一定的算法转发给后端Real Server处理,而Real Server将响应直接返回给客户端. 二.简单原理 NG

微服务架构 - CentOS7离线部署docker

原文:微服务架构 - CentOS7离线部署docker 1.环境准备 系统环境为: CentOS Linux release 7.5.1804 (Core) 安装docker版本为: 17.12.0-ce 2.准备部署文件 在http://mirrors.163.com/centos/7/os/x86_64/Packages/中下载如下rpm安装包: audit-2.8.4-4.el7.x86_64.rpm audit-libs-2.8.4-4.el7.x86_64.rpm libselinu

centos7 部署 docker compose

=============================================== 2019/4/10_第1次修改                       ccb_warlock =============================================== 将原先docker swarm的文章拆分后,我决定将docker compose的部署内容单独整理成文章,使得部署逻辑更清晰. docker compose是docker容器批量编排的工具,可以通过1个yml