docker制作镜像步骤
一、查看宿主机下是否有符合需求的docker镜像
操作命令如下:
[root@server4 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker:5000/tomcat-https latest 11a4491c149a 3 months ago 333.9 MB
docker:5000/trd-scanner-net latest 7b327429bbc5 10 months ago 1.2 GB
docker:5000/tomcat latest b8dfe9ade316 10 months ago 333.9 MB
docker:5000/python 2.7.10 56fd9e0b9e18 13 months ago 676.3 MB
docker:5000/python-java 2.7.10 4222d775fde3 14 months ago 932.6 MB docker:5000/logstash 5.1.2 9c3e54db5b3d 15 months ago 494.4 MB
docker:5000/elasticsearch 5.1.2 3b9ab09f293c 15 months ago 352.5 MB
docker:5000/java 8 d23bdf5b1b1b 15 months ago 643.1 MB docker:5000/mobz/elasticsearch-head 5 b19a5c98e43b 16 months ago 823.9 MB
docker:5000/redis latest 1c2ac2024e4b 17 months ago 182.9 MB
docker:5000/php 5.6.10 85a8f7dfbd55 18 months ago 444.3 MB
docker:5000/java 7-jre c27eb4ce75bb 23 months ago 334.5 MB
docker:5000/mongo latest ddad4160b92f 2 years ago 313 MB
docker:5000/mysql latest 63a92d0c131d 2 years ago 374 MB
docker:5000/jplock/zookeeper latest 1cf23317deaa 2 years ago 155.4 MB
docker:5000/ruby 2.2.2 6e25aaae5cba 2 years ago 777.4 MB
docker:5000/python 3.4.3 d2dc073918d4 2 years ago 756.8 MB
如果没有就需要从docker私库里pull出需要的镜像,如果私库里没有就需要自己制作上传上去或者从docker中央仓库里pull出
我需要的是java-Python的镜像,操作命令如下:
[root@server4 ~]# docker pull docker:5000/python-java:2.7.10
2.7.10: Pulling from python-java a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
816152842605: Already exists
5dcab2c7e430: Already exists
dc54ada22a60: Already exists
b7b0de78f891: Already exists
88363ed594cb: Already exists
f8c4a940a0da: Already exists
2640d83b37bc: Pull complete
Digest: sha256:2f2fd19a5e5334877cf95263125664e611f5826df823d846c64e503cfb586f88
Status: Downloaded newer image for docker:5000/python-java:2.7.10
需要注意的是:docker:5000这里在/etc/hosts做了映射:ip docker
使用该镜像创建并启动容器,以detached模式运行容器名为python-java-2.7.10,将/user目录挂载到容器中的/sqy目录
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
挂载宿主机文件/home/web-test到容器内文件/usr/local/webapps,如果容器内文件/usr/local/webapps下有内容,会将下面的内容删除
[root@server4 ~]# docker run -d --restart always --name python-java-2.7.10 -v /usr:/sqy -ti docker:5000/python-java:2.7.10
a1cba830014c9c4b401c2184d6c9ca48811b4a7dc92c2e613e0f4dcef6532540 容器的id
[root@server4 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1cba830014c docker:5000/python-java:2.7.10 "bash" 2 minutes ago Up About a minute python-java-2.7.10
3f340defc410 docker:5000/mongo "/entrypoint.sh --sto" 7 weeks ago Up 7 weeks 0.0.0.0:27017->27017/tcp mongo-demo
进入docker容器查询Python,java版本信息
[root@server4 ~]# docker exec -it cfd6e74d9c28 bash
root@cfd6e74d9c28:/# python -V
Python 2.7.10
root@cfd6e74d9c28:/# java -version
java version "1.7.0_121"
OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-2~deb8u1)
OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)
在容器里安装了一些软件以后,再将容器制作成镜像,
docker commit -m "centos_with_nettools_and_wget(对容器操作了什么)" -a "Frankie(作者名)" 64b(容器id) centos_with_net(镜像名称、版本号)
如果不加版本号,默认latest,我采用1.8,jdk1.8_yum:1.8
3 docker commit -m "centos_add_jdk1.8" -a "sqy" 733bacc5c9ca jdk1.8_yum:1.8
再查询docker镜像就可以看到了
docker images
jdk1.8_yum 1.8 428cd765479d 21 hours ago 413MB
二、删除docker镜像
首先删除该镜像对应的docker容器
1,停止docker容器
查看运行中的docker容器
[root@server4 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1cba830014c docker:5000/python-java:2.7.10 "bash" About an hour ago Up About an hour python-java-2.7.10
3f340defc410 docker:5000/mongo
停止docker容器
[root@server4 ~]# docker stop a1cba830014c
a1cba830014c
查看运行中的docker容器
[root@server4 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f340defc410 docker:5000/mongo "/entrypoint.sh --sto" 7 weeks ago Up 7 weeks 0.0.0.0:27017->27017/tcp mongo-demo
查看所有的docker容器
[root@server4 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1cba830014c docker:5000/python-java:2.7.10 "bash" About an hour ago Exited (0) 3 minutes ago python-java-2.7.10
3f340defc410 docker:5000/mongo "/entrypoint.sh --sto" 7 weeks ago Up 7 weeks 0.0.0.0:27017->27017/tcp mongo-demo
删除docker容器
[root@server4 ~]# docker rm a1cba830014c
a1cba830014c
查看所有的docker容器
[root@server4 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f340defc410 docker:5000/mongo "/entrypoint.sh --sto" 7 weeks ago Up 7 weeks 0.0.0.0:27017->27017/tcp mongo-demo
也可以使用强制删除,不用stop正在运行时的容器,docker rm -f a1cba830014c
2,删除镜像
[root@node105 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tcr:5000/elasticsearch 5.5.3 60503d5b81fb 8 months ago 510MB
caryyu/selenium-chrome latest 5608bb454b54 9 months ago 613MB
[root@node105 ~]# docker rmi caryyu/selenium-chrome
或者是IMAGE ID (5608bb454b54)
----------------------------------------------------若有不正之处,欢迎大家指正,不胜感激!!!!!
docker制作镜像步骤的更多相关文章
- docker制作镜像
使用Dockerfile脚本创建jdk1.8镜像 新建jdk目录:(-p表示需要父目录,不然就会出错) mkdir -p /usr/local/dockerjdk1. 将jdk的压缩文件复制到上面的路 ...
- docker中镜像的作用
镜像原理镜像 镜像到底是什么?镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件.1.Uni ...
- docker制作自己的镜像并上传dockerhub
1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com 2.在linux服务器登录自己的账号:docker login --username=qiaoyeye ...
- 记录 Docker 的学习过程 (dockerfile自动制作镜像)
自动制作镜像 通过编写dockerfile来自动创建镜像 #vi Dockerfile #编辑dockerfile文件,一定要以这个名字命名 #cat Dockerfile #导入哪个基础镜像FROM ...
- Docker之commit制作镜像
一.docker是什么? Docker是一个为开发人员和系统管理员提供分布式应用程序的开放平台.它是一个开源的容器引擎,基于Go语言并遵从Apche2.0协议开源. 功能:Docker可以让开发者打包 ...
- 使用docker制作Mysql镜像
一.过程说明 通过Dockerfile创建mysql镜像,使用的mysql软件包为mariadb二进制分发版,最终在宿主机启动mysql容器从而能在mysql容器外部访问mysql服务. 宿主机IP ...
- 中标麒麟龙芯平台--docker基础镜像制作
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...
- Docker系列06—基于容器制作镜像并上传到Docker Registry
本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...
- Docker学习笔记之二:制作镜像并PUSH
Pull 如果是Public的(docker官方仓库和加速器) 直接 docker pull ubuntu:16.04 即可 若是私有的 首先登陆 docker login 仓库Host 之后 doc ...
随机推荐
- jmeter发送json数据,报405、400错误解决方案
1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...
- 【开发工具IDE】eclipse的SVN提交忽略target等多余文件
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和 .classpath最好也别放到src repository 里. ...
- easyui布局隐藏伸缩按钮
1. 在html中加入 <script> /** * layout方法扩展 * @param {Object} jq * @param {Object} region */ $.exten ...
- 【刷题】BZOJ 1458 士兵占领
Description 有一个M * N的棋盘,有的格子是障碍.现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵.我们称这些士兵占领了整个棋盘当满足第i行至少放 ...
- 【刷题】UOJ #274 【清华集训2016】温暖会指引我们前行
寒冬又一次肆虐了北国大地 无情的北风穿透了人们御寒的衣物 可怜虫们在冬夜中发出无助的哀嚎 "冻死宝宝了!" 这时 远处的天边出现了一位火焰之神 "我将赐予你们温暖和希望! ...
- Rotting Oranges - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Rotting Oranges - LeetCode 注意点 解法 解法一:bfs.首先先统计所有新鲜的橘子数目fresh,如果fresh大于0则一直执行 ...
- Mininet 系列实验(五)
实验内容 实现一个单个交换机的拓扑,添加一个交换机,和N个主机到网络中.交换机和主机之间的每个链路能够设置带宽.延迟时间.以及丢包率.创建一个包含一个交换机和四个主机的网络,使用iperf测试主机之间 ...
- BZOJ3522 [Poi2014]Hotel 【树形dp】
题目链接 BZOJ3522 题解 就是询问每个点来自不同子树离它等距的三个点的个数 数据支持\(O(n^2)\),可以对每个距离分开做 设\(f[i][j]\)表示\(i\)的子树中到\(i\)距离为 ...
- 【bzoj2555】 SubString
http://www.lydsy.com/JudgeOnline/problem.php?id=2555 (题目链接) 题意 给出一个初始串,维护两个操作.在原串后面加入一个字符串:询问某个字符串在原 ...
- 「CodePlus 2017 11 月赛」Yazid 的新生舞会(树状数组/线段树)
学习了新姿势..(一直看不懂大爷的代码卡了好久T T 首先数字范围那么小可以考虑枚举众数来计算答案,设当前枚举到$x$,$s_i$为前$i$个数中$x$的出现次数,则满足$2*s_r-r > 2 ...