Docker官方镜像中心:https://hub.docker.com/explore/

参考:慕课网docker视频教程 https://www.imooc.com/video/14625

1、启动docker服务:service docker start

2、查看docker版本:docker version

3、查看本机安装的docker镜像:docker images

下图显示本机有一个hello-world镜像

4、拉取hello-world的镜像文件(默认去Docker Hub拉取):docker pull hello-world

5、运行一个镜像文件(例如镜像hello-world):docker run hello-world

6、查看正在运行的镜像:docker ps

7、停掉正在运行的镜像:Ctrl+C

8、后台运行nginx镜像并打印出容器ID:docker run -d nginx

-d含义如下:可以通过docker run --help查看

9、进入nginx容器:docker exec -it e35 bash

-it参数含义如下:

10、让容器中运行的nginx开放端口给主机访问:docker run -d -p 8080:80 nginx

浏览器输入localhost:8080,看到的是nginx的欢迎页:

此时是发生了端口映射,浏览器访问的8080其实是容器里面的80端口!

-p含义:开放容器的端口到主机上

-d含义:让容器在后台运行并打印容器ID:

11、检查8080端口是否开放:netstat -na|grep 8080

此时端口正处于listen状态。

12、停止nginx:docker stop 容器id(写一部分也行)

先查询nginx的容器id:docker ps

然后输入:docker stop  c9

docker stop e3

再用docker ps查看运行的镜像:此时nginx已经完全停止了

13、使用大P命令随机映射端口:docker run -d -P nginx

再使用docker ps命令查看运行的镜像:

会发现主机的32768端口映射了容器中的nginx的80端口。

查看32768端口状态:netstat -na|grep 32768,此时32769端口处于监听状态了。

14、拉取tomcat镜像:docker pull tomcat

需要花费点时间:

查看本机的镜像:docker imges

此时就多了一个tomcat镜像,大小为463M。

15、利用Dockerfile制作自己的镜像:

下载jpress的war包作为项目:https://gitee.com/fuhai/jpress/tree/alpha/wars

将war包放入download目录下,然后cd download进入该目录

vi Dockerfile,输入以下内容,然后按:wq保存退出。

此时Dockerfile文件已生成:

接下来使用bulid命令构建镜像:docker build -t jpress:latest .

最后的点不能忘记,否则报错,表示当前目录(download下),控制台输出:

-t含义如下:

查看镜像:docker images

此时会发现多了自己制作的一个jpress镜像:

16、运行自己的容器,将tomcat的8080端口映射成主机的8888端口,这样可以通过8888访问:

docker run -d -p 8888:8080 jpress

查看8888端口情况:netstat -na|grep 8888

打开浏览器访问localhost:8888

可以访问tomcat首页:

输入http://localhost:8888/jpress-web-newest,项目名是war包的名字,访问jpress:

这样自己通过Dockerfile制作的镜像就成功运行了。

17、安装mysql:docker pull mysql

如果下载卡住很长时间(网络原因),按Ctrl+C终止正在运行的进程,重新运行docker pull mysql

docker常用命令记录的更多相关文章

  1. docker 常用命令记录

    下载镜像 docker pull imagesName 查看所有镜像 docker images 查看当前运行的镜像 docker ps 运行镜像 docker run imagesName 停止运行 ...

  2. docker 常用 命令

    http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...

  3. Docker 常用命令总结

    Docker 常用命令总结   回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...

  4. Docker---(3)Docker常用命令

    原文:Docker---(3)Docker常用命令 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_3 ...

  5. Docker常用命令-全

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接: https://app.yinxiang.com/shard/s17/nl/19391737/9f6bf39e- ...

  6. Docker常用命令速查手册(华贵铂金版)

    原创声明:作者:Arnold.zhao  博客园地址:https://www.cnblogs.com/zh94 Docker常用命令速查手册 搜索仓库镜像 docker search nginx 获取 ...

  7. 关于Docker 常用命令

    Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...

  8. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  9. Docker常用命令(二)

    Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...

随机推荐

  1. [JAVA]JAVA章3 如何获取及查看DUMP文件

    一.dump基本概念 在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题.这些文件记录了JVM运行期间的内存占用.线程执行等情况,这就是我们常说的 ...

  2. Python11/26--mysql之视图/触发器/事务/存储过程

    视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的时候直接使用即可 2.为什么用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 select * from ...

  3. boost--内存池

    boost的内存池实现了一个快速.紧凑的内存分配和管理器,使用它可以完全不用考虑delete释放问题.常用的boost内存池有pool.object_pool.singleton_pool. 1.po ...

  4. POI 导出

    package com.baoqilai.scp.service; import java.io.File; import java.io.FileOutputStream; import java. ...

  5. C++顺序容器之deque初探

    C++顺序容器之deque初探 deque是双端队列,与vector非常相似,是顺序容器,不同的是,deque可以在数组开头和末尾插入和删除数据.支持快速随机访问. #include<iostr ...

  6. Oracle服务器和客户端安装在同一台机器的情况

    最近重装了系统,所有的开发环境需要重新部署一下,因此重新安装了Oracle,结果原来没有问题,这一次又碰到了几个问题(tns12154和tns03505),让我好一搞啊.不过又重新对Oracle加深了 ...

  7. Java学习笔记54(反射详解)

    反射概念: java反射机制是在运行状态中,对于任意一个类,都能知道所有属性和方法 对于任意一个对象都能调用它的任意一个方法和属性,这种动态获取和调用的功能称为java的反射机制 实际作用: 已经完成 ...

  8. Python 基础:分分钟入门

    Python和Pythonic Python是一门计算机语言(这不是废话么),简单易学,上手容易,深入有一定困难.为了逼格,还是给你们堆一些名词吧:动态语言.解释型.网络爬虫.数据处理.机器学习.We ...

  9. 从 moment -> nodejs -> sequelize -> postgres,你都得设置好时区

    背景 最近在做报表统计,因为 sequelize 的时区配置没加导致了统计数字对不上的问题. 问:大家都知道时区,但是你清楚 UTC 和 GMT 的区别吗? 答:UTC 是我们现在用的时间标准,GMT ...

  10. java调用高德地图api实现通过ip定位访问者的城市

    所需东西:高德地图的key 注意:这个key是 web服务的key  和js的key不是一个key(若没有则自行创建,创建教程在文末) 高德地图的api文档:https://lbs.amap.com/ ...