Docker学习(一)

先我们要弄明白Docker是什么?Docker与虚拟机有什么区别?Docker的安装方法?Docker中image和Container的区别?Docker的常用命令是什么?Docker hub?等内容

答案:Docker的官网,看官方文档 https://docs.docker.com/,有些部分被墙了,这里有人提供了一种方法

docker run -d -p 80:4000 docs/docker.github.io

运行后就可以直接在浏览器中在localhost访问了

Docker是一个开源平台,包含容器引擎和Docker Hub注册服务器

Docker相较于虚拟机更为轻量,虚拟机相当与在原来的操作系统上运行了一个新的操作系统,包括新的kernel和userland,而Docker则是和原来的操作系统共用kernel,在linux中Docker运行就是用syscall来调用kernel。这里建议各位在liunx下玩,windows还是。。。

Docker安装方法见官网,这里提一下,不要直接用apt/yum去安装docker,版本太低了,我在ubuntu下直接安装Docker,version为1.13(命令docker --version),按官网的安装方法version为18.03.1-ce。ce是Community Edition 社区版的意思,对于普通用户来说够用了

在Docker中镜像是包含程序运行必要依赖环境和代码的只读文件,是一个静态的模板,它采用分层的文件系统(这里不展开),容器是一个运行image,它是一个进程,有几种状态,下面通过Docker的相关命令来说明

1、images

1.1 docker images

查看image的种类

1.2 docker pull 镜像

从docker Hub拖取image

1.3 docker search 镜像

从Docker Hub搜索image

2、 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

2.1 docker run ubuntu 

直接运行镜像命令,执行该命令后首先会检查本地是否存在该镜像,若存在则直接运行,不存在则pull 。运行成功后。

这里docker ps -a 是显示所有容器的信息,包括CONTAINER ID,IMAGE,COMMAND,CREATED ,STATUS,PORTS ,NAMES的信息

CONTAINER ID:容器的id,就是标识用的,使用前三个字母就可以表示该容器了

IMAGE:镜像,表示该容器是由那个image运行起来的,一个镜像可以有多个container

COMMAND:容器最后运行的命令

CREATED:创建容器的时间

STATUS:容器的状态。如果是Up表示容器为运行状态,如果是Exited(0)表示为停止状态,0表示是正常退出(这里有点类似与虚拟机中的暂停)

PORTS :容器的端口信息,可以在run命令下用-p/P参数来指定

NAMES:容器名,可以使用--name=名称参数在run命令下指定名称,如:

sudo docker run --name=h1 ubuntu

通过图示,我们可以发现,docke run ubuntu 后,container的状态为停止

2.2 docker run -i -t ubuntu 

 -i:打开容器的标准输入

-t:为容器建立一个命令行终端 /bin/bash

-it:为我们和容器提供了一个交互shell,这是的container的状态的运行的,当exit退出这个shell后,就停止了

2.3 docker run -d -t ubuntu 

-d: 在后台运行

只返回了container ID,没有交互式的shell

 

3、 docker rm [OPTIONS] CONTAINER [CONTAINER...]  [flags]

docker rm -f 强制执行删除,其后可以是container/images的ID 名称(id标识container/image只需要三位),若想删除多个,以空格分开

若想一次将所有容器都清除,执行以下命令

docker rm -f $(sudo docker ps -a -q)
docker ps -a  -q 命令列出所有container的ID

4、docker exec  / docker attach

exec和attach不同在于exec命令是让container运行command而不进入container,attach是直接进入container

具体的用法如下:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker attach [OPTIONS] CONTAINER

5、docker cp

docker容器与本地之间进行文件的交互命令

具体的用法如下:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-     //复制container中文件到本地
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH //复制本地文件到container

参考链接:https://blog.lab99.org/post/docker-2016-07-14-faq.html

猜你喜欢

转载自www.cnblogs.com/keepcuriosity/p/9232583.html