常用的docker命令:

docker ps  #查看当前正在运行的容器

docker ps -a | grep <keyword> #查看所有的容器,运行的或者停止的

docker stop <container-id> #停掉某个容器, 类似于主机的睡眠或者虚拟机的挂起

docker start <container-id> #重新启动某个容器,和刚才stop是相反的操作

docker rm <container-id> #删除某个容器

docker rmi <image-name> #删除某个image镜像

docker run ... #参数很多,根据已有镜像启动某个容器

docker build ... #用dockerfile构建自定义的镜像

docker insepct <container-id> #查看某个容器的各种信息

docker exec -it <container-id> /bin/bash #正在运行的镜像,我们想进去看看要使用该命令

sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>: 查看某个容器的IP

sudo docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(sudo docker ps -aq):查看所有的容器的IP

做如下实验:

1,构建一个镜像文件

创建文件,文件名为:dockerfile

FROM nginx

MAINTAINER test@x.com

然后执行命令:sudo docker build -t xin/luwenwei.nginx .

含义是使用当前文件夹下面的dockefile来构建镜像,镜像名称为<xin/luwenwei.nginx>

2,使用构建好的镜像文件启动一个容器

执行命令:

sudo docker run -d -p 8888:80 xin/luwenwei.nginx

使用刚才构建的镜像,创建一个容器,启动主机端口8888,映射到容器中的80端口

3,从各个角度来观察容器

3.1,查看容器的运行状态

# sudo docker ps

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                  NAMES
f887c1378676 xin/luwenwei.nginx "nginx -g 'daemon ..." minutes ago Up minutes 0.0.0.0:8->/tcp lucid_allen

可以看到,容器正在运行中。

3.2,查看容器的功能是否正常

luwenwei@localhost:~/docker/nginx$ curl 127.0.0.1:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p> <p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p>
</body>
</html>

可以看到,容器的80端口打开的,可以输出html内容。

3.3,到容器内部去看看

luwenwei@localhost:~/docker/nginx$ sudo docker exec -it f887c1378676  /bin/bash
root@f887c1378676:/# ps aux
bash: ps: command not found
root@f887c1378676:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@f887c1378676:/#

41 【docker】初识的更多相关文章

  1. Docker初识

    <Docker--从入门到实践>是Docker技术的入门教程,学习时长两天,现整理关键点如下: 1. 什么是Docker? 轻量级操作系统虚拟化解决方案:Go语言实现:下图很好地说明了Do ...

  2. docker --- 初识

    Docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).ba ...

  3. docker 初识之二(简单发布ASP.NET Core 网站)

    在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...

  4. 1021 docker初识

    docker与虚拟机相比,没有虚拟化内核,转而使用宿主机的内核.因此docker更轻更快 docker缺点:后端兼容性测试需求.把软件安装在不同的操作系统上进行测试,观察软件运行是否良好. 不能用do ...

  5. Docker初识笔记

    Docker docker说白了就是:环境打包 我们能用docker什么? 1.如果配置好本地的linux环境交接给其他人,很麻烦,交接时要告诉他,装这个装那个,还可能出现问题,那我直接把这个环境放到 ...

  6. Docker 初识之路

    一. 安装配置 1.安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2   2.设置阿里云镜像源 sudo yu ...

  7. Docker学习のDocker初识

    一.Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...

  8. docker 初识1

    学习网址 https://git.oschina.net/yangllsdev/docker-training https://docs.docker.com/engine/installation/ ...

  9. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  10. Docker制作基础镜像

    Docker镜像制作 方式一:手动运行一个容器,做好所有配置,然后把容器提交成一个镜像 方式二:使用DockerFile 示例1:做一个yum安装的nginx镜像 - 运行并进入一个centos容器: ...

随机推荐

  1. golang-grpc-Unimplemented-desc

    golang 调用grpc 服务方法时候提示:"rpc error: code = Unimplemented desc ="的错误, 这是由于pb中的package name 被 ...

  2. 同一个windows server 部署多个tomcat

    只需要修改tomcat目录下conf下的server.xml文件即可,修改地方有三个,把下面这几个端口修改了为不同的端口即可,例如我把这几个端口统一减1了 <Server port=" ...

  3. 2.4 Visio2007显示动态对齐网格

  4. golang http proxy反向代理

    本文介绍golang中如何进行反向代理. 下面例子中, proxy server接收client 的 http request,转发给true server,并把 true server的返回结果再发 ...

  5. 使用Tensorflow操作MNIST数据

    MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例.而TensorFlow的封装让使用MNIST数据集变得更加方便.MNIST数据集是NIST数据集的 ...

  6. Java如何运行一个class文件的main方法

    假设如下目录有个class文件,并且里面有main方法: d:\workspace\eclipse\com\JavaCore\classloader\MyClassLoader.class 首先进入c ...

  7. ubuntu下的Nessus插件更新

    00x1: 记录下nessus插件离线更新,免得每次度娘我Nessus是放在虚拟机里面. 00x2: nessus 插件更新地址: https://plugins.nessus.org/v2/offl ...

  8. 02-Response简单响应报文

    package com.day5; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputSt ...

  9. 第一课了解SQL

    1.1 数据库基础 其实一直在使用这数据库,当你在邮箱中查询名字时,当在网站上进行搜索,在自动取款机上使用ATM卡,这些操作都是在使用数据库 1.1.1 数据库   数据库:保存有组织的数据的容器(通 ...

  10. JAVA中循环删除list中元素的方法总结(同上篇)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...