docker 临时记录(阿里云centos7.2.1511 )

查看系统版本号

适用于Redhat/CentOS:
[root@iz2zecm4ndtkaue32tynx5z ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
或者
[root@iz2zecm4ndtkaue32tynx5z ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64

查看系统内核版本

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

uname -r
或者
uname -a

一、通过yum命令在线下载并安装docker

# 安装docker
yum install docker-io
# 加入开机启动
chkconfig docker on
# 启动docker服务
service docker start

二、docker安装Tomcat容器

#查找服务器的tomcat信息
docker search tomcat

拉取镜像文件

#拉取
docker pull docker.io/tomcat
#或者
docker pull tomcat
#或者拉取指定版本的tomcat
docker pull tomcat:版本号

去哪查看tomcat的tag版本呢?

打开docker hub的官网,搜索tomcat

下载tomcat的Tag Name 为8.0的版本

docker pull tomcat:8.0

1、批量停用容器、删除容器、删除镜像:

停止所有的container,这样才能够删除其中的images:

#批量停止container容器
docker stop -f $(docker ps -aq) #或者
docker stop $(docker ps -a -q) #或者 docker stop $(docker ps -aq)
#批量删除container容器
docker rm -f $(docker ps -aq)
#批量删除images镜像
docker rmi -f $(docker images -aq)

想要删除untagged images,也就是那些id为<None>的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

后台运行容器时,进入到已经运行的容器里边


#1、创建容器并在后台运行
docker run <--name myubuntu> -dit <image id> /bin/bash
#2、以exec方式进入容器(docker 1.3及上版本)
docker exec -it <container id> /bin/bash

提交镜像到docker hub上

1、需要注册docker hub账号(略)

2、创建仓库

3、docker commit命令

commit 主要用于通过差异性,创建一个新的image,当容器中的文件产生变化后,可以提交生成一个新的image,这可以让你debug出你所做的修改,导出发布到其他服务器,这似乎是一种比Dockerfile更好的管理方式。

默认情况下,在提交时,容器的执行将被暂停,以保证数据的完整性,当然你可以指定选项 p ,来禁止。

用法:docker commit 容器ID [dockerhub 的账号名称]/[仓库名称]:[tag版本号]

参数1:已经启动的容器ID

参数2:dockerhub 的账号名称

参数3:仓库名称

参数4:tag版本号

 

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a ubuntu:12.04 /bin/bash days ago Up hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash days ago Up hours focused_hamilton $ docker commit c3f279d17e0a svendowideit/testimage:version3 f5283438590d $ docker images REPOSITORY TAG ID CREATED SIZE
svendowideit/testimage version3 f5283438590d seconds ago 335.7 MB

使用新配置提交容器

$ docker ps

CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a ubuntu:12.04 /bin/bash days ago Up hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash days ago Up hours focused_hamilton $ docker inspect -f "{{ .Config.Env }}" c3f279d17e0a [HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] $ docker commit --change "ENV DEBUG true" c3f279d17e0a svendowideit/testimage:version3 f5283438590d $ docker inspect -f "{{ .Config.Env }}" f5283438590d [HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBUG=true]

使用new CMD 和 EXPOSE 说明提交容器

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a ubuntu:12.04 /bin/bash days ago Up hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash days ago Up hours focused_hamilton $ docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a svendowideit/testimage:version4 f5283438590d $ docker run -d svendowideit/testimage:version4 89373736e2e7f00bc149bd783073ac43d0507da250e999f3f1036e0db60817c0 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89373736e2e7 testimage:version4 "apachectl -DFOREGROU" seconds ago Up seconds /tcp distracted_fermat
c3f279d17e0a ubuntu:12.04 /bin/bash days ago Up hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash days ago Up hours focused_hamilton

2、docker push命令

语法:docker push [参数] 名称或者镜像ID[:标记版本号]

查看容器ID(使用docker ps)然后将其提交为一个新的镜像名称来保存新镜像。

$ docker commit c16378f943fe rhel-httpd

使用新的镜像ID将镜像推送到docker hub仓库。

在此示例中,注册表位于命名registry-host和侦听端口的主机上5000。为此,请使用主机名或IP地址以及注册表的端口标记映像:

$ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
$ docker push registry-host:5000/myadmin/rhel-httpd

上边是官方的示例:

我这里用一个docker hub的官方的redis 生成一个新的redis镜像,push到自己的docker hub仓库。

如图:

去自己的docker hub 仓库查看:

curl提示不支持https协议解决方法

原因是因为在安装curl时使用默认安装,但是默认安装并不支持https协议。

卸载重新安装curl,解压。

在进行编译前,最好先将原curl去掉,应该可以直接yum remove curl卸载。

但是不建议,因为怕影响到其它的程序,所以我的方法是which curl,然后把curl命令的路径名称改掉,例如加一个bak后缀,方便后面重新安装时失败,还可以回退到原来的curl

1、下载curl的解压包

 https://curl.haxx.se/download/curl-7.61.0.tar.gz

Docker编排工具Fig介绍

Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司。Fig通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。Fig可以和Docker一起来构建基于Docker的复杂应用。

安装Fig

Fig是一个Python Package,你可以使用以下命令来安装:

yum install fig -y

pip install -U fig
或者



查看版本
fig --version



一、docker临时记录的更多相关文章

  1. Docker 操作记录

    Docker docker info 查看信息 docker 更改镜像目录 方式:1.配置文件修改 # cat /etc/sysconfig/docker |grep -v ^# |grep -v ^ ...

  2. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

  3. 嵌入式 uboot以及kernel添加看门狗临时记录(个人记录未整理乱)

    Uboot_Kernerl_Add_Watch_Dog: U-Boot 2010.06 (Nov 01 2013 - 15:28:44) DRAM:  128 MiBCheck spi flash c ...

  4. Cassandra docker 使用记录

    环境介绍: docker 安装 cassandra 3.11.1 , 然后进入docker 的终端,输入 > cqlsh , 即可使用Cassandra了,详细介绍如下: 查看表空间descri ...

  5. docker学习记录1

    起因 现在自己学习微服务,服务器越来越多,虽然自己写了一些shell脚本来安装需要的软件,比如mysql,redis,jdk等等,但是还是好麻烦.希望学习docker能够快速安装部署这些东西. 记录一 ...

  6. [原创]Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程

    网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清 ...

  7. 如何在mac上安装docker[记录自己在mac上安装docker的经历]

    0.引子 最近入手了一台mac笔记本,想在本地安装docker. 1.找安装文档. 文档地址:http://www.widuu.com/chinese_docker/installation/mac. ...

  8. docker入门记录1

    一. 什么是Docker 1.英文意思是集装箱,很形象.直白点就是将程序运行环境打包在一个箱子里,然后箱子扔到哪里,里边的程序都可以运行.这样以来一个显而易见的好处是:和以前的开发环境等相比,你不用每 ...

  9. The Docker学习记录[Doing]

    微服务 & Docker 译文:使用Java构建微服务 原文:Building Microservices With Java [编者的话]本文翻译自Dzone Guide to the Ja ...

随机推荐

  1. Selenium webdriver Java 查找元素

    1.简单查找 By ID: WebElement element=driver.findElement(By.id("userId")); By Name:WebElement e ...

  2. Linux启动U盘制作

    Linux目前最好的u盘启动工具之一,下面介绍它的用法,首先下载Linux live OK了,一步一步跟我步骤走! 启动时,选择需要用的U盘 步骤二,就选择安装源即可(一般为ISO文件) 最后进行步骤 ...

  3. Visual studio C++ 之空控制台工程添加文件并解决头文件包含问题

    背景 之前都是用的MFC已搭好框架,今天想自己从零开始完成添加文件,编译,并解决文件包含问题,在此做个记录. 正文 首先创建一个Win32控制台应用程序,不要直接点击完成,而是点击下一步,然后选择空项 ...

  4. Android_View_得到Activity

    Context context = view.getContext(); if (context instanceof Activity){ Activity activity = (Activity ...

  5. Cron表达式中特殊字符解释

    http://www.cnblogs.com/opaljc/archive/2012/05/24/2516392.htmlCron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表.范 ...

  6. CREATE SEQUENCE添加自增序列及NEXT VALUE FOR返回序列号

    From :https://msdn.microsoft.com/zh-cn/library/ff878091.aspx 语法: CREATE SEQUENCE [schema_name . ] se ...

  7. MySQL中的RAND()函数使用详解(order by rand() 随机查询取前几条记录)

    MySQL RAND()函数调用可以在0和1之间产生一个随机数: mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+--- ...

  8. javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

    一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.se ...

  9. 英语每日一句: What’s your point? 你究竟想说什么?

    今天我们要学习的一句话是:What's your point? 你究竟想说什么?这句话在日常交流中非经常见,当对方说了非常多东西你仍不明确他究竟是什么意思时.你就能够问What's your poin ...

  10. ubuntu16安装docker

    首先确保curl已经安装! 然后执行: curl -sSL https://get.docker.com/|sudo sh 这个是通过脚本的方式安装docker. 运行命令测试 sudo docker ...