关闭

docker安装、仓库以及镜像制作

3136人阅读 评论(0) 收藏 举报
分类:

docker安装

linux下的安装

  1. 系统:CentOS7.x
  2. 内核:3.10及以上的kernel内核版本
    可以通过uname -r查看

    $ uname -r

  3. 安装:

    两种安装方式

    1. yum安装
      1.更新yum包
      $ sudo yum update
      2.添加yum仓库
      $ sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF’
      [dockerrepo]
      name=Docker Repository
      baseurl=https://yum.dockerproject.org/repo/main/centos/7/
      enabled=1
      gpgcheck=1
      gpgkey=https://yum.dockerproject.org/gpg
      EOF
      3.安装docker包
      $ sudo yum install docker-engine
      4.运行docker后台进程
      $ sudo service docker start
      5.检测docker是否正确安装
      $ sudo docker run hello-world
    2. 脚本安装
      1.更新yum包
      $ sudo yum update
      2.运行docker安装脚本
      $ curl -fsSL https://get.docker.com/ | sh
      3.运行docker后台进程
      $ sudo service docker start
      4.检测docker是否正确安装
      $ sudo docker run hello-world

windows下的安装

  1. 系统:window10个人版或者64位企业版
  2. 软件下载地址

    docker下载地址:http://www.docker.com/products/docker#/windows
    toolbox下载地址http://www.docker.com/products/docker-toolbox

  3. 安装:

    1.双击InstallDocker.msi来运行docker安装程序,一直点击完成即可
    如果没有InstallDocker.msi文件可以在这里获取
    2.启动docker
    通过docker quick start terminal启动

docker仓库

仓库服务器

拉下官方的registry镜像,并启动镜像

$ docker pull registry
$ docker run -d -p 5000:5000 registry

docker客户端

1.修改docker配置文件如下

$ vi /var/lib/boot2docker/profile

添加–insecure-registry 192.168.1.26:5000
这里写图片描述

2.重启docker服务

$ /etc/init.d/docker restart

3.修改要提交镜像名称
如果本次仓库服务器ip和端口号分别为192.168.1.8:5000
则镜像名修改命令如下

$ docker tag test:latest  192.168.1.8:5000/znms:v1
$ docker push 192.168.1.8:5000/znms:v1

下载仓库镜像

$ docker pull 192.168.1.8:5000/znms:v1

制作docker镜像

通过容器制作docker镜像

$ docker commit 容器id 镜像名称

通过Dockerfile制作docker镜像

编写Dockerfile文件

$ vim Dockerfile

文件内容如下

FROM znms:v1                            #制作镜像所需的基础镜像
MAINTAINER "zhenping" <weizp@zznet.cn>  #维护者名称
WORKDIR /root                           #切换工作目录为root
ADD init.sh /root/                      #把宿主机当前目录下的
                                        #init.sh文件添加到镜像的
                                        #root目录中
EXPOSE 80                               #暴露端口
EXPOSE 3306
EXPOSE 514
EXPOSE 69
EXPOSE 22
EXPOSE 23
ENV LANG en_US.UTF-8                    #修改镜像环境变量
VOLUME /var/www/html/cacti              #添加对外的挂载目录
CMD ["sh","init.sh"]                    #镜像每次启动时都会执行
                                        #init.sh脚本

编写init.sh启动脚本

$ vim init.sh

init.sh脚本内容如下(下面是目前znms需要开机启动的服务):

#!/bin/bash
service crond start
service snmpd start
service mysqld start
#sed是为了让容器启动时候根据环境变量中的REMOTE_HOST来配置php调试服务
sed -i '2000c xdebug.remote_host='$REMOTE_HOST'' /usr/local/php5/etc/php.ini
service php-fpm start
service httpd start
service rsyslog start
service xinetd start
service sshd start
#tailf命令是为了让容器一直有任务执行,否则容器会stop
tailf /var/www/log/error.log

docker常用命令

常用命令列表

作用 命令
启动docker服务 1.service docker start
2.如果没有docker服务的话执行/etc/init.d/docker restart
关闭docker服务 上述命令中的start修改为stop即可
获取镜像 docker pull 镜像名称
提交镜像 docker push 镜像名称
(符合规范为仓库地址:端口号/仓库名:版本号) 例如:192.168.1.8:5000/znms:v1
以指定镜像运行容器 docker run
-i 保持标准输入打开
-d 以后台进程模式重启容器
-p 指定容器暴露端口在宿主机上所对端口
-v 指定容器的挂载目录
-e 指定容器的环境变量
–restart=always 指定docker服务启动时总是启动容器
启动容器 docker start 镜像名称
-a 待完成
-i 启动一个容器并进入交互模式;
-t 10 停止或者重启容器的超时时间,超时后系统将杀死进程。
关闭容器 docker stop 镜像名称
重启容器 docker restart 镜像名称
-a 待完成
-i 重启启动一个容器并进入交互模式;
-t 10 停止或者重启容器的超时时间,超时后系统将杀死进程。
-d 以后台进程模式重启容器
列出所有镜像 docker images
列出所有容器 docker ps
-a 列出所有容器(含沉睡容器);
删除镜像 docker mi 镜像名称
删除容器 docker rm 容器id(可以通过docker ps查询)
进入容器 docker exec -ti 容器id(可以通过docker ps查询) /bin/bash
退出容器 exit
通过容器创建镜像 docker commit 容器id 创建镜像名称(镜像名:tag)例如znms:v1
通过Dockerfile创建文件 进入到Dockerfile所在目录,
执行docker build -t 镜像名 .
所执行命令的点不可缺少,代表当前目录
修改镜像名称 docker tag 镜像名称 要修改成的镜像名称

docker start命令补全

$ docker run -i -d -p 1880:80 -p 13306:3306 -p 122:22 -p 123:23 -p 69:69/udp -p 514:514/tcp -v /Users/apple/znms/03_code/trunk/z-nms:/var/www/html/z-nms -e "REMOTE_HOST=调试ip地址" --restart=always znms:v1
0
0
查看评论

docker【3】docker镜像容器安装

docker的镜像安装容器运行 1.从dcocker hub安装 2、运行容器 3、提交自己修改的容器
  • linlinv3
  • linlinv3
  • 2015-12-15 09:48
  • 1287

docker镜像创建与基本使用

查看镜像 在docker环境安装完成之后,对docker的使用主要集中在docker镜像的管理与使用。首先是docker镜像的管理,查看本地有哪些镜像可以使用命令: docker images 运行镜像 查看到本地有哪些镜像后,就可以来运行已有的镜像了,使用命令: docker run -t -...
  • five3
  • five3
  • 2017-07-21 18:32
  • 1774

docker 实战---安装一个基础镜像 (一)

泡了几天官网,对docker有了一点了解。准备着手搭建一个公司的开发测试环境,包括java、python。 一、环境介绍 首先说明一下我的环境 2台物理服务器(后面简称主机) 主机A的配置如下: [root@opnvz ~]# lsb_release -a LSB Version: :base...
  • qcpm1983
  • qcpm1983
  • 2014-08-22 10:19
  • 6610

Win10 Docker 安装使用

1.前言 Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下。2.安装准备 需要的条件为: 64bit Windows 10,开启Hyper-V2.1 下载Docker for Windows 从官网的下面地址可以下载https://download.dock...
  • shi1451042748
  • shi1451042748
  • 2016-11-01 15:02
  • 23276

InstallDocker.msi

  • 2017-05-20 15:24
  • 106.36MB
  • 下载

docker 镜像下安装Vim

在docker镜像运行以后发现没办法编辑一些配置文件,解决步骤如下:首先,进入docker镜像 #进入镜像命令 docker exec -it 镜像Id或镜像name /bin/bash配置国内镜像源 实际在使用过程中,运行 apt-get update,然后执行 apt-get ...
  • cuizhenjie
  • cuizhenjie
  • 2017-07-19 23:35
  • 1208

docker简介及使用国内镜像源安装docker

docker简介及使用国内镜像源安装docker
  • guoyajie1990
  • guoyajie1990
  • 2017-02-26 08:05
  • 3339

Docker的镜像和容器的区别

Docker的镜像和容器的区别 作者:chszs 一、Docker镜像要理解Docker镜像和Docker容器之间的区别,确实不容易。假设Linux内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。
  • chszs
  • chszs
  • 2015-09-06 22:51
  • 31592

在Windows中玩转Docker Toolbox(镜像加速)

http://www.cnblogs.com/studyzy/p/6113221.html 最近在研究虚拟化,容器和大数据,所以从Docker入手,下面介绍一下在Windows下怎么玩转Docker。 Docker本身在Windows下有两个软件,一个就是Docker,另一个是Docker ...
  • chengly0129
  • chengly0129
  • 2017-04-01 19:00
  • 5055

Docker教程:docker的概念及安装

http://blog.csdn.net/pipisorry/article/details/50754385 Docker基本概念 Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere"。 ...
  • pipisorry
  • pipisorry
  • 2016-02-27 11:21
  • 5556
    个人资料
    • 访问:19871次
    • 积分:386
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类