docker镜像制作和更新.md

使用非root用户操作DOCKER

docker默认使用root操作。
1.创建docker组:

sudo groupadd docker

2.将当前用户加入docker组:

sudo gpasswd -a ${USRE} docker

3.重新启动docker服务:#

sudo service docker restart 或
sudo systemctl restart docker(视平台而定)

4.当前用户退出系统,重新登陆

构建镜像:commit方式或build方式

1.commit方式:基础镜像运行生成容器,容器中安装需要工具,提交镜像。

注意:官方python镜像中的python版本默认为3,要使用python2需要使用python2命令。
我们用commit方式构建python2基础镜像。

  1. docker search centos
    从docker Hub搜索centos官方镜像
 docker pull docker.io/centos

/之前表示仓库名,之后表示镜像名。docker.io是国内daocloud加速镜像。

docker run -it --name my_centos docker.io/centos /bin/bash

运行centos镜像,-it表示启动终端交互界面 --name是自定义的容易名字 /bin/bash表示容器启动时候执行的命令
Linux提示符会变成类似[root@9cabea476573 /]字样,表示进入容器。

Centos7.4带的python默认版本为2.7.5
安装python开发工具

yum install -y python-devel

如果提示没有python-pip,需要先执行

yum -y install epel-release

提交生成的容器为镜像,命令执行结束后,会输出一行sha256的字符串,表示镜像ID

docker commit -m 'my python 2.7.5' my_centos python2:v0.1

-m:镜像描述
my_centos:上一步生成镜像的名称
python2:生成的镜像保存的仓库名
v0.1:生成镜像的版本号

查看刚生成的镜像

docker image

build方式构建镜像(Dockerfile):

  1. 通过写Dockerfile来生成image,有点事逻辑清晰,便于管理

    创建存放Dockerfile的目录,后续操作将在这个目录下进行。

mkdir ~/imagedir
cd ~/imagedir
  1. 创建Dockerfile,使用任何文本编辑器,创建名为Dockerfile的文件,文件名固定不可变。
  1. docker build -t myimage .

构建镜像, -t表示将镜像命名为myiamge . 表示在当前目录下的Dockerfile文件
注意:依据Dockerfile内容,这一命令将分多步骤执行,每一步骤会生成一个中间镜像,作为下一步骤的基础。在镜像创建后,中间镜像会销毁。

  1. 运行上一部生成的镜像

    docker run -it myimage
    
  2. build 镜像过程中发生错误会生成一个名字是none镜像,修改完Dockerfile之后可以继续建立生成,之后会删除none中间镜像

    <none>               <none>              1c4ac682f895        5 weeks ago         915 MB
    
Dockerfile介绍:
FROM python2:v0.1

from表示从那个基础镜像开始构建镜像。基础镜像来自仓库python2,版本v0.1
from必须作为dockerfile的第一行,若本地仓库没有相关镜像,默认从远程仓库获取。如果不执行版本号,默认使用latest基础镜像。

MAINTAINER YouShow
镜像维护者个人信息

RUN pip install flask
RUN pip install git+http://username:password@gitlab.maixunbytes.com/zhangxiaopeng/pipelines.git
RUN pip install git+http://username:password@gitlab.maixunbytes.com/zhangxiaopeng/mxspider.git
RUN pip install git+http://username:password@gitlab.maixunbytes.com/zhangsheng/dateformatting.git
安装项目需要的依赖,如果从git仓库安装,要用到git账号和密码

WORKDIR /src/spiders/app_zxp_week_2/
容器启动后,切换到指定目录作为工作目录

COPY ./spiders /src/spiders
从源系统的文件复制到容器系统上。示例中复制当前目录下的spiders文件夹到容器系统src文件夹下。要把构建进镜像的文件放到Dockefile文件目录或者子目录下。
ADD 和COPY使用类似

USER dingyong
容器执行操作用哪个账户

ENTRYPOINT bash bbs_funcs.sh run_spider siku
entrypoint用来说明当使用docker run启动容器时候要执行的命令

CMD
CMD用来表示镜像要运行的默认命令,以及想要传递给它的选项。如果没有指定ENTRYPOINT,当容器启动的时候默认运行的就是CMD的值所指定的命令。若有ENTRYPOINT,ENTRYPOINT是要运行的命令,CMD的值当作ENTRYPOINT的选项。
CMD 命令会被docker run --it name /command 中command命令覆盖,而ENTRYPOINT不会
CMD [“cat”, “/etc/hosts”, “/etc/os-release”]注意:RUN指令设置的命令仅在构建镜像的时候会被使用,CMD和ENTRYPOINT会在执行docker run的时候被使用。

ENV DB_USER=root
设置环境变量

注意:编写Dockerfile时候,根据需求填写,不需要填写所有命令。

删除镜像和container

rm Remove one or more containers
rmi Remove one or more images

docker rmi image-id
如果删除失败说明在containers中有需要先删除container中的内容

更新镜像

commit来更新 还有重新build更新

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容