来源:第一本Docker书

基础命令

安装:

apt-get install docker

启动:

service  docker start

创建并运行第一个容器:

docker run -i -t ubuntu /bin/bash

-i -t :提供交互的shell

查看启动的容器、所有容器:

docker ps
docker ps -a

重命名:

ps -a 可以看到我们的容器有个随机的名字cranky_lalande

efd4d3fff333        ubuntu:latest                                                       "/bin/bash"            15 minutes ago      Up 7 seconds                                      cranky_lalande          
我们可以指定自己的名字:

docker run --name ubuntu_docker -i -t ubuntu /bin/bash

启动指定容器:

docker start ubuntu_docker

也可以根据id启动:

docker start efd4d3fff333

给后台容器添加会话(回车进入):

docker attach ubuntu_docker

守护式容器:

docker run --name daemon_docker -d ubuntu /bin/sh -c "while true;do echo hello docker;sleep 1;done;"

-d:后台运行

查看后台容器在干嘛:

docker logs ubuntu_docker

查看容器的进程:

docker top daemon_docker

停止守护式容器:

docker stop daemon_docker

自动重启容器:

 docker run --restart=always --name daemon_docker_restart -d ubuntu /bin/sh -c "while true;do echo hello docker;sleep 1;done;"

无论容器的退出代码是什么都会自动重启,还可以指定:--restart=on-failure:5,当退出代码非0时重启,最多5次。

删除容器:

docker rm daemon_docker_restart

删除所有(我的报错,不能删除多个):

docker rm 'docker ps -a -q'

-a:列出所有

-q:只显示id

使用镜像

列出镜像:

docker images

注册docker hub (lanqiexh/k***1)

用户仓库:jone/ubunntu

顶层仓库:ubuntu

拉取镜像:

docker  pull xx

查找镜像:

docker search kalilinux

构建镜像:

docker commit eaa1a6e0b320 lanqiexh/u_apache2

dockerfile

mkdir DockerLearn
vim Dockerfile #Version 0.0.1
From lanqiexh/u_apache2
MAINTAINER James Turn
RUN apt-get update
RUN apt-get install nginx -y
RUN echo 'Hi, I am in your container' > /usr/share/nginx/html/index.html
EXPOSE 80

最后要(空格和点)

docker build -t aaa/u_apache2 .

-t: 仓库/名称

还可以加标签:

aaa/u_apache2:v1

从新镜像启动容器:

docker run -d -p 80 --name web aaa/u_apache2 nginx -g "daemon off;"

-p: 指定80端口映射到宿主主机,

查看启动的容器:

docker ps -l

341fc8d3ca4c        aaa/u_apache2:latest   "nginx -g 'daemon of   6 minutes ago       Up 5 minutes        0.0.0.0:32769->80/tcp   web_u

宿主主机访问:http://0.0.0.0:32769/

可以访问到容器的服务

当然也可以指定宿主主机的端口:-p 8080:80

dockerfile指令

Docker学习笔记1的更多相关文章

  1. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  2. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  3. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  4. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  5. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  6. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  7. Docker学习笔记总结

    Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/   一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...

  8. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  9. docker学习笔记-1

    docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...

  10. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

随机推荐

  1. Java 引用数据类型

    引用数据类型 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等. * C ...

  2. 新建体(2):create or replace object创建存储包、存储过程、函数

    http://heisetoufa.iteye.com/blog/366957/ 创建一个package(包) 声明: create or replace package mpay_route is ...

  3. zookeeper的搭建和简单的使用

    一.什么是zookeeper,有什么用 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据 ...

  4. Python list 初始化技巧

    1.一维列表 1.1 递增列表 # 初始化递增的list,与L = [i for i in range(10)] 效果相同 L = range(10) # 版本变化L = i for i in ran ...

  5. 网络编程基础【day10】:多线程效果演示(二)

    本节内容 1.引子 2.并发多线程效果演示 一.引子 我们说单核的cpu只能同时执行一个任务,但是给我们的一个幻觉是可以执行多个,因为cpu太快了.它是怎么实现的呢?就是上下文切换,它不是轮询着切换的 ...

  6. I/O模型之二:Linux IO模式及 select、poll、epoll详解

    目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ...

  7. 设计模式---数据结构模式之迭代器模式(Iterate)

    一:概念 迭代模式是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式. 在应用Iterator模式之前,首先应该明白Iterator ...

  8. python数据结构总结

    一.列表 1.列表脚本操作符: (1)扩增的操作符: “+”:用于组合列表:如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6] "*":重复;如[2,3]*2= ...

  9. MarkdownPad使用

    正文: 1.标题的几种写法: 第一种:     前面带#号,后面带文字,分别表示h1-h6,上图可以看出,只到h6,而且h1下面会有一条横线,注意,#号后面有空格 第二种:      这种方式好像只能 ...

  10. 端口与进程-----Window cmd命令

    ********************  windows 篇 ********************** cmd命令: services.msc    打开本地服务页面 一.查看windows系统 ...