docker 安装和使用
目录
1、安装docker的官方网站
配置镜像加速器
查看docker安装的版本
重启docker
启动 docker
查看启动的状态
下载测试镜像 并且启动该容器
2、操作docker 镜像的常用命令
搜索镜像
下载镜像
列出镜像
删除本地镜像
保存镜像到本地
加载镜像到docker仓库
构建镜像
3、docker 容器常用命令
1、启动docker容器
2、列出容器
3、停止容器
4、强制停止容器
5、启动已经停止的容器
6、重启容器
7、进入容器内部
8、删除容器
9、导出容器
10、导入容器
问题记录
1、Linux 下 Docker 端口映射到宿主机后 外部无法访问对应宿主机端口
2、 查单某一个容器的日志信息
3、docker 运行jar 文件
4、docker服务连接 mysql容器 出现连接不上的问题
5、docker 启动mysql 乱码
6、docker 容器 映射https 端口
1、安装docker的官方网站
https://docs.docker.com/install/linux/docker-ce/ubuntu/
http://book.itmuch.com/ 电子图书
配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
查看docker安装的版本
docker --version
重启docker
sudo systemctl restart docker
启动 docker
sudo systemctl start docker
查看启动的状态
sudo systemctl status docker
下载测试镜像 并且启动该容器
docker run hello-world
出现以上信息 说明安装成功
2、操作docker 镜像的常用命令
搜索镜像
docker search java [-- limit / -f(过滤结果) / --no-trunc (true/false) /--start -s (收藏数) ]
下载镜像
docker pull java
列出镜像
docker images java
删除本地镜像
docker rmi hello-world
在删除本地镜像前 要去查看是否有容器在引用此镜像 如报一下错误 Error response from daemon: conflict: unable to remove repository reference "hello-world:latest" (must force) - container fc82f6cea8b0 is using its referenced image fce289e99eb9
则使用以下命令
保存镜像到本地
docker save hello-world > hello.tardocker --output hello.tar hello-world
加载镜像到docker仓库
docker load < hello.tar
构建镜像
docker build -- 看书查看详细的执行
3、docker 容器常用命令
1、启动docker容器
docker run -d -p 8080:8080 XXX#-d 后台运行
#-P 随机映射所有的端口 (大P)
#-p 指定端口映射# ip:hostPort:containerPort (地址:主机端口号:容器端口号)# ip::containerPort# hostPort:containerPort# containerPort
#--network 指定网络格式 # --network=bridge 默认 网桥模式# --network=host 容器使用主机的网络# --network=container:NAME_or_ID (容器的名称或者id) 使容器使用已有的容器的网络配置# --network=none 不配置该容器网络 用户可以自定义配置网络
2、列出容器
docker ps -a#-a 列出全部运行的容器
#-f 条件过滤
#--format
#-n 显示最近创建的n个容器 -n 10
#-l 显示最近创建的容器(包含所有的状态)
#--no-trunc 不截断输出
#-q 只展示容器id
#-s 显示总文件的大小
3、停止容器
docker stop #-t 强制停止容器前等待的时间 单位是秒 s
4、强制停止容器
docker kill #-s 向容器发生信号 kill
5、启动已经停止的容器
docker start
6、重启容器
docker restart#-t 关闭容器前等待的时间
7、进入容器内部
docker exec -it 容器id /bin/bashdocker attach 容器id
8、删除容器
docker rm #-f 强制删除正在运行的容器
#-l 删除容器间的网络连接
#-v 删除与容器管理的卷#删除所有的容器docker rm -f $(docker -a -q)
9、导出容器
docker export #-o 将内容写到文件 docker export red_panda > latest.tar #导出red_panda 为 latest.tar 文件
docker export --output="latest.tar" red_panda
10、导入容器
docker import #-c 将Dockerfile 指令应用到创建的镜像
#-m 为导入的镜像设置提交的信息docker import latest.tar rep_panda
问题记录
1、Linux 下 Docker 端口映射到宿主机后 外部无法访问对应宿主机端口
描述:在ubuntn 服务下启动了tomcat 容器,使用虚拟机的地址加映射的端口 无法访问到tomcat容器,进入tomcat容器,使用curl "localhost:8080"命令请求服务,发现tomcat是启动的。
原因是:我的宿主机没有开启ip 转发功能,导致了外部请求过来没有转发到docker 映射的端口号上。
编辑 :
vi /etc/sysctl.conf
修改
重启网卡 和重启docker 服务
#重启网卡
/etc/init.d/networking restart#重启docker
systemctl restart docker
2、 查单某一个容器的日志信息
docker logs -f -t 0d8a3a91c04c(容器id)
3、docker 运行jar 文件
编写Dockerfile 文件 输入一下内容
FROM java
VOLUME /tmp
ADD schoolweb-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 84
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
构建容器
docker build -t shcool/0.0.1 .
4、docker服务连接 mysql容器 出现连接不上的问题
#查看当前容器的ip地址
docker insepect [容器名称、容器id]
将此ip地址进行替换
5、docker 启动mysql 乱码
编辑该配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysql]
default-character-set = utf8[mysql.server]
default-character-set = utf8[mysqld_safe]
default-character-set = utf8[client]
default-character-set = utf8[mysqld]
character_set_server=utf8
init_connect=’SET NAMES utf8’
6、docker 容器 映射https 端口
使用一下命令启动容器
docker run -d -p 80:80 -p 443:443 xxx(容器名称) 映射80 和 443端口 。
相关文章:

不编译内核加载connlimit模块
转载于:https://blog.51cto.com/sookk8/280372

记录一下g++的编译选项
假设main.cpp,hello.h,hello.cpp,其中main.cpp调用了hello类中的方法 1 生成hello.so g -shared hello.cpp -olibhello.so 2 编译main.cpp,并链接,并指定运行时libhello.so的位置 g main.cpp -lhello -L./ -Wl,-rpath./ -o main 值得一提的是,如果采用带版本号的库,例如libhell…

JSP中是EL表达式与JSTL
EL语法:${ } EL取值来自于作用域对象 1.如何从指定作用域取值(默认从最小作用域取值) pageScope、requestScope、sessionScope、applicationScope ${pageScope.xxx }--- ${requestScope.xxx} --- ${sessionScope.xxx } 2.用EL取出请求参数中的数据 EL表…

数据库连接无法释放
问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. Poolingtrue; MAX Pool Size512;Min Pool Size50;Connection Lifetime30 转载于:https://www.cnblogs.com/tianciliangen/p/8110625.…

mpvue 引入自己创建的js 文件 到其他的文件中
1、mpvue 引入外部js 文件 中的方法 如果需要调用外部的js文件中的方法 需要按照以下的格式进行写 创建方法,将方法抛出 /** * 七牛上传文件 工具方法 **/ function getToken() {console.info("进来了"); } export {getToken }在其他的文件中使用 im…

DirectShow camera demo
我在编译SDK自带的Cameracapture的例子时,出现 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 1> ------ 已启动生成: 项目: CameraCapture, 配置: Release Windows Mobile 5.0 Pocket PC SDK (ARMV4I) ------ 1> 正在链接... 1> graphmanager.obj : …

Uva 11400 - Lighting System Design (DP)
题目链接 https://cn.vjudge.net/problem/UVA-11400【题意】你的任务是设计一个照明系统,一共有n(n<1000)个灯泡可以选择,不同种类的灯必须使用不同的电源,但同种灯泡可以共用一个电源,每种灯泡有4个属性…

删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录...
delete from people where rowid in (select min(rowid) from people group by peopleId having count(peopleId )>1)转载于:https://www.cnblogs.com/macT/p/10865224.html
微信表白墙 微信小程序 吐槽墙 表白墙 java 开发
目录 1 小程序展示 2 后台展示 3 技术栈 4 代码目录 5 第一版微信表白墙链接 1 小程序展示 2 后台展示 3 技术栈 java:Springboot mybatis mysql mpvue bootstrap dataTable echars 4 代码目录 5 第一版微信表白墙链接 https://blog.csdn.net/huyande123/article/det…

Sql存储过程加密和解密
可用于加密SQL存储过程或者触发器(这是SQL Server本身提供的,也就是说这是微软的加密算法) http://www.mscto.com 使用 WITH ENCRYPTION 选项 WITH ENCRYPTION 子句对用户隐藏存储过程的文本。下例创建加密过程,使用 sp_helptext …

C++向量类模板(支持实数向量与复数向量的各种运算)
2019独角兽企业重金招聘Python工程师标准>>> 头文件: /** Copyright (c) 2008-2011 Zhang Ming (M. Zhang), zmjerry163.com** This program is free software; you can redistribute it and/or modify it* under the terms of the GNU General Public L…

C# 篇基础知识11——泛型和集合
.NET提供了一级功能强大的集合类,实现了多种不同类型的集合,可以根据实际用途选择恰当的集合类型。 除了数组 Array 类定义在System 命名空间中外,其他的集合类都定义在System.Collections 命名空间中。为了方便、快捷地操纵集合元素…

React和vue的差异和相似地方
React 单向绑定(加插件后,还是可以双向绑定) Vue 双向绑定 组件化 1、 React,需要编写render函数, 2、 当React状态的状态state改变是render就会重新被调用, 重新计算全dom,然后对旧的dom就行对…

正则表达式相关方法
1 判断字符串中是否包含字母 /** * 使用正则表达式来判断字符串中是否包含字母 * param str 待检验的字符串 * return 返回是否包含 * true: 包含字母 ;false 不包含字母*/ public boolean judgeContainsStr(String str) { String regex".*[a-zA-Z].*"; Match…

Ajax Upload多文件上传插件翻译及中文演示
http://www.zhangxinxu.com/wordpress/?p342转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/03/19/1689800.html

[每日一讲] Python系列:Python概述
Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装、继承、多态。Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 文件(为二进制文件)&#…

微信公众号开发 微信消息回复开发 文本消息 图片消息开发
开发语言:java 实现功能:发送文字回复文字,发送图片回复图片、token验证、获取access_token等相关功能。 如图: 微信后台接口配置 ,此为测试账号,正式设置也是一样的 项目地址:https://github…

[置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练。 AC的题如下 NEUOJ 1112 I Love Apple DescriptionSo many people love apple and there is a problem about apple.An Apple Word is a word that consists of only the letters A, P, L, an…

生成唯一序列号
写一个存储过程来实现: 转载于:https://www.cnblogs.com/hwgok/p/8136750.html

如何改变一个地图的Zoom单位
mapControl1.Map.Zoom new MapInfo.Geometry.Distance(mapControl1.Map.Zoom.value,MapInfo.Geometry.DistanceUnit.Kilometer);也可以分开写成如下格式:MapInfo.Geometry.Distance d new MapInfo.Geometry.Distance(1000, DistanceUnit.Kilometer);mapControl1.M…

canvas上的像素操作(图像复制,细调)
canvas上的像素操作(图像复制,细调) 总结 1、操作对象:ImageData 对象,其实是canvas的像素点集合 2、主要操作: var objctx.getImageData(0,0,100,100); ctx.putImageData(obj,110,0) 3、操作图片要放在站点才能正常操作…

sql查询返回xml数据之应用【转载】
sql查询返回xml数据之应用【转载】 今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知道sql server 查询可以返回xml格式,但具体一到应用中比较少,读过文章后…

solr 实现对经纬度的查询
1、solr版本 solr7 2、solr 经纬度查询的方式 使用LatLonType(用于平面坐标,而不是大地坐标)SpatialRecursivePrefixTreeFieldType(缩写为RPT)BBoxField(用于边界索引查询)2.1 使用 LatLonPointSpatialF…

win7关于IIS发布网站时候数据库的问题,xp也一样
Win7装iis极其简单. 添加ASP.NET网站时应该选择添加"添加应用程序" 如果要连接sql server会报错,说是 "无法打开登录所请求的数据库 "MarketDept"。登录失败。用户 IIS APPPOOL\DefaultAppPool 登录失败。" 而系统中根本不会存在这个用户的. 解决…

Linq 等式运算符:SequenceEqual
检查元素的数量,每个元素的值及两个集合中元素的顺序是否相等,3个方面都相等则为true,否则为false IList<string> strList1 new List<string>(){"One", "Two", "Three", "Four", "Three"};IList<…

Swing 实现聊天系统 私发与群发
该系统使用的了socket、swing相关知识,实现了一个简单的群聊和私聊的系统。 1、程序界面功能展示 服务端swing界面展示 客户端服务展示 用户上线与发送消息客户端与服务端 私发消息 相关代码: package frame;import java.awt.BorderLayout; import ja…

Http和Socket连接区别(ZT)
1、TCP连接 要想明白Socket连接,先要明白TCP连接。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一…

函数传参涉及到副本的创建与拷贝问题分析
遇到一个问题,是这样的: b [1, 2, 3]def aaa(b):b.append(4)def bbb(b):b 5aaa(b) print(b) # [1, 2, 3, 4]bbb(b) print(b) # [1, 2, 3, 4] 为什么呢,为什么通过函数传参,去修改参数,结果不一致呢? 原因是因为函数传参涉及到了参数副本的创建与拷贝,具体详解: 圆圈2为传参…

网页鼠标滚动实现图片缩放
<SCRIPT LANGUAGE"JavaScript"><!--//图片按比例缩放,可输入参数设定初始大小function resizeimg(ImgD,iwidth,iheight) {var p_w_picpathnew Image();p_w_picpath.srcImgD.src;if(p_w_picpath.width>0 && p_w_picpath.height>0){if(p_w_picp…

Dubbo 2.7.1 踩坑记
Dubbo 2.7 版本增加新特性,新系统开始使用 Dubbo 2.7.1 尝鲜新功能。使用过程中不慎踩到这个版本的 Bug。 系统架构 Spring Boot 2.14-Release Dubbo 2.7.1 现象 Dubbo 服务者启动成功,正常提供服务,消费者调用偶现失败的情况。错误如下图: …