制作镜像的dockerfile如下所示:
FROM centos:7MAINTAINER tcy tiancy@jovision.com
RUN yum update -y &&
yum install crontabs iproutewget net-tools gcc automake autoconflibtool make gcc gcc-c++ zlib* zlib-devel -y
RUN mkdir -p /home/mynginx
COPY octmts /home/mynginx/octmts
COPY tools /home/mynginx/tools
WORKDIR /home/mynginx/octmts
RUN chmod –R 755 *
RUN sh install.sh octmts
编译创建镜像
docker build -t octmts -f dockerfile-octmts .创建容器
程序文件和dockerfile放在同一目录
docker create –name octmts3.0 -v/home/docker_oct/data:/home/mynginx/octmts/log -p 50000:50000 -p 50001:50001 -p50002:50002 octmts1.0
创建容器+运行
docker run -id –net=host –nameoctmts2.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:5000octmts1.0
创建CentOS7容器,使用systemctl后台运行服务程序时遇到以下问题:
Failed to get D-Bus connection
解决方案(此方案在主机是CentOS6.5系统下无效,暂时无法处理):
docker create –privileged –net=host –nameoctmts3.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:50000 -p50001:50001 -p 50002:50002 octmts1.0 /usr/sbin/init
或者
docker run –privileged –net=host -id –nameoctmts3.0 -v /home/docker_oct/data:/home/mynginx/octmts/log -p 50000:5000octmts1.0 /usr/sbin/init
四、CentOS6.5系统下使用私有仓库的兼容问题
CentOS6.5系统下使用私有仓库时由于版本问题导致pull私有镜像失败,Docker 1.7.1版本pull私有镜像仓库报错,V1,V2等。Docker 1.7版本和Docker CE的配置文件的位置不同:
Docker 1.7版本 /etc/sysconfig/docker
Docker CE版本使用 /etc/docker/daemon.json
使用docker 1.7版本如果要pulldocker registry v2或harbor里的镜像,如果没有配置CA证书的话,需要配置insecure-registry,并且需要将这个参数加到docker daemon的启动参数里。配置步骤:
1、Docker 1.7解决办法
⑴ 配置DOCKER_OPTS参数并保存
[root@123 ] # vi /etc/sysconfig/dockerother_args=DOCKER_CERT_PATH=/etc/docker
## add
DOCKER_OPTS="--insecure-registry ip:port"
⑵ 修改启动项
[root@123 ] # vi /etc/init.d/docker## 找到 start 函数,在exec处增加刚配置的DOCKER_OPTS,参见下边空行处
start() {
if [ ! -x $exec ]; then
if [ ! -e $exec ]; then
echo "Docker executable $exec not found"
else
echo "You do not have permission to execute the Docker executable$exec"
fi
exit 5










