登录镜像资源

docker login daocloud.io
username:
password:

docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

 

配置 Docker 加速器

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/default/docker 中 ,也就是 /etc/docker/daemon.json 文件

重启Docker

配置完之后执行下面的命令,以使docker的配置文件生效

sudo systemctl daemon-reload

sudo service docker restart

 

交互启动容器

docker run -i -t ubuntu /bin/bash
 
查看容器
docker ps  正在运行的容器
       -a :所有容器
       -l:最后一个容器
 
ctrl + d :退出当前容器
 
容器的配置信息
docker inspect 容器id
 

自定义容器名:

docker run --name=ubuntu-docker -i -t ubuntu
 

重新启动停止的容器

docker start -i 容器名
 
docker stop 容器名
 

删除停止的容器

docker rm 容器id
 

守护式容器

docker run -i -t 
 
ctrl+p  ctrl+q :将交互式的容器转为后台运行
 

进入正在运行的守护容器

docker attach ubuntu-docker
 

启动守护式容器

1、能够长期运行
2、没有交互式会话
3、适合运行应用程序和服务

docker run -d
例:docker run -i -t -d --name=centos7 docker.io/centos 
 

查看容器内的日志:

docker logs -tf ubuntu-docker
    -t:加时间戳
    -f:一直跟踪
 

查看容器内进程

docker top 容器名
 

在运行中的容器内启动新进程

docker exec 容器名
docker exec -t -i ubuntu-docker /bin/bash
 

停止守护式容器

docker stop 容器名
docker kill 容器名
 

删除镜像文件:

docker rmi docker.io/ubuntu
 
 

容器端口映射:

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操作的更多相关文章

  1. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  2. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  3. C# ini文件操作【源码下载】

    介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...

  4. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)

    前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...

  7. 如何在高并发环境下设计出无锁的数据库操作(Java版本)

    一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...

  8. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  9. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

随机推荐

  1. windows下apache+php安装

    1.安装apache 通过exe安装,如果80端口被占用,修改httpd.conf中的Listen,然后再次用exe安装,选择repaire 2.安装php 解压php包,添加系统变量 path,加上 ...

  2. 【题解】Atcoder AGC#03 E-Sequential operations on Sequence

    仙题膜拜系列...首先我们可以发现:如果在截取了一段大的区间之后再截取一段小的区间,显然是没有什么用的.所以我们可以将操作序列变成单调递增的序列. 然后怎么考虑呢?启示:不一定要考虑每一个数字出现的次 ...

  3. Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法

    最近在做播放器的时候遇到一个问题,在屏幕方向改变之后需要切换播放器全屏/非全屏的时候,在重写了onConfigurationChanged方法并在manifest.xml配置文件中添加 android ...

  4. BZOJ1085:[SCOI2005]骑士精神——题解+IDA*粗略讲解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1085 Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空 ...

  5. 信息工程学院技能大赛 计算机程序设计(Java)大赛试题

    前期准备与后期上传工作: (1)必须先建立项目和包,项目名为"JavaContest",包结构为:"contest.c+序号+姓名",其中序号为两位为本人大赛报 ...

  6. 国庆 Day1

    This is a 玄学 exam A.年轮蛋糕 最小的最大,二分首选 断环为链,check(x),x为答案,然后将每个大于x的子区间记录下来 如果有大于3个的话,那么x就可以是答案 那么·,在优化下 ...

  7. AtCoder Grand Contest 031 B - Reversi(DP)

    B - Reversi 题目链接:https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: 给出n个数,然后现在你可以对一段区间修改成相同的值,前提是 ...

  8. mysql的主从复制原理与实现

    关于mysql的主从复制,之前一直在听说这个话题,一直没有实现,昨天学习了下,原来是这么回事: 既然是主从复制,那么肯定有主有从,也就说一个主数据库(一般为写库),一个从数据库(读库).主数据库更新了 ...

  9. SDUT 3930 线段树

    皮卡丘的梦想2 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 一天,一只住在 501 实验 ...

  10. [异常处理]class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)

    在kafka.out日志里出现大量 ERROR [ReplicaFetcherThread-0-1], Error for partition [FLAG_DATA_SYC,1] to broker ...