3.0docker操作
登录镜像资源
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
配置 Docker 加速器

重启Docker
配置完之后执行下面的命令,以使docker的配置文件生效
sudo systemctl daemon-reload
sudo service docker restart
交互启动容器
自定义容器名:
重新启动停止的容器
删除停止的容器
守护式容器
进入正在运行的守护容器
启动守护式容器
1、能够长期运行
2、没有交互式会话
3、适合运行应用程序和服务
查看容器内的日志:
查看容器内进程
在运行中的容器内启动新进程
停止守护式容器
删除镜像文件:
容器端口映射:
run [-P][-p]
docker run -P -i -t centos /bin/bash 映射所有端口
docker run -p 80 -i -t centos /bin/bash 映射单一端口
1、只指定容器的端口,宿主机端口随机
docker run -p 80 -i -t centos /bin/bash
2、指定宿主机到容器的端口映射
docker run -p 8088:80 -i -t centos /bin/bash
3、指定宿主机ip到容器的端口
dokcer run -p 0.0.0.0:80 -i -t centos /bin/bash
4、指定宿主机ip和端口到容器的端口映射
docker run -p 0.0.0.0:8088:80 -i -t centos /bin/bash
docker容器中安装软件
docker 容器中部署静态网站
给容器映射端口为80
docker run -p 80 -i -t ubunt
报错:
root@f9e3e466599d:/# apt-get install -y ping
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ping ## 执行更新命令才能安装软件
root@f9e3e466599d:/# apt-get update
安装 nginx
apt-get install -y nginx
安装 vim
apt-get install -y vim
查看nginx安装位置
whereis nginx
查看nginx 目录
ls /etc/nginx/
进入nginx 静态网站目录
/etc/nginx/sites-enabled/
创建静态网站目录和页面
mkdir -p /var/www/html 创建index.html 页面
编辑 nginx 配置,设置静态网站目录
vim /etc/nginx/sites-enabled/default
docker ps 查看正在运行的容器,包括端口信息
也可以
docker port web
也可以 查看容器中的进程相关信息
docker top web
验证nginx 页面
[root@www ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f9e3e466599d docker.io/ubuntu "/bin/bash" 32 minutes ago Up 32 minutes 0.0.0.0:32768->80/tcp web 访问宿主机的 32768端口,即可映射到容器中的 80端口上,也就是访问到nginx上
访问 nginx中的页面
[root@www ~]# curl -v http://127.0.0.1:32768/index.html
也可以通过宿主机的浏览器来访问
ifconfig 查看宿主机ip
http://192.168.75.132:32768/index.html 这样才可以访问到nginx 上啦
也可以访问容器的ip地址来访问nginx
查看容器的ip地址
docker inspect web
[root@www ~]# curl -v http://172.17.0.2 默认就是80端口
当关闭容器时,再启动容器,nginx 是关闭状态的
关闭容器
docker stop web
启动容器
docker start -i web
容器转为后台运行 ctrl+p ctrl+q
查看容器进程
docker top web nginx 没在后台运行
在后台运行的容器中启动 nginx
docker exec web nginx 启动后台运行容器的 nginx ,也就是对后台容器开启新进程
当一个容器关闭后,再启动时,ip地 和宿主机的端口映射 可能会发生改变
systemctl替代了service命令
从一个正在运行的 Nginx 容器中复制出配置文件
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
您也可以通过推荐的Dockerfile方式来生成一个包含自定义配置文件的镜像,如下所示:
FROM daocloud.io/nginx
COPY nginx.conf /etc/nginx/nginx.conf
参考来源: http://cpvbird.blog.51cto.com/3165113/1672063
3.0docker操作的更多相关文章
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
随机推荐
- (转)Linux常用性能检测命令
一.uptime Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average).load average值分别记录了上个1分钟,5 ...
- MySQL中使用trim()删除两侧字符
在某些情况下由于程序没处理好,导致数据表中有些字段的值会有空白字符出现,如 这样如果在严格比对name时会匹配不到.trim()函数可以解决这样的问题 作为trim()函数的子集,ltrim()函数是 ...
- WPF 资源应用
对资源的应用,有好多方法,以下是一些应用,可以参考 1.静态资源: 2.动态资源: 3.项目面板中的资源: 4.图片.声音等资源
- Windows下BMP位图格式介绍
BMP图片,是Bitmap(位图)的简称,它是windows下显示图片的基本格式.在windows下任何格式的图片文件(包括视频播放)都要转化为位图才能显示出来.各种格式的图片文件也都是在位图格式的基 ...
- C# 面向对象——继承
继承:代码文字结合理解 class Program { static void Main(string[] args) { //Student s = new Student(); //Driver ...
- subprocess模块详解
subprocess是Python与系统交互的一个库,该模块允许生成新进程,连接到它们的输入/输出/错误管道,并获取它们的返回代码. 该模块旨在替换几个较旧的模块和功能: os.system os.s ...
- [洛谷P4550]收集邮票
题目大意:有$n(n\leqslant10^4)$个物品,第$i$次会从这$n$个物品中随机获得一个,并付出$i$的代价,问获得所有的$n$个物品的代价的期望. 题解:令$f_i$表示现在已经获得了$ ...
- harbor1.4.0高可用部署
一.对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使 Parent 构造函数成为 Children 的方法,然 ...
- SpringBoot-配置文件属性注入-3种方式
配置文件: datasource.username = admin datasource.url = /hello/world 方式一: @Value 前提: <!-- JavaBean处理工具 ...
- Cydia Substrate based DexDumper's weakness
得益于Cydia Substrate框架,HOOK Native函数变得简单,也给脱壳带来方便. 像ijiami免费版,360,classes.dex被加密到so文件并运行时释放到内存,因此针对相关函 ...