docker学习笔记 一 安装以及简单操作

一  安装

  我是在centOS7上安装的docker,安装比较简单,没碰到什么其他问题。

yum install docker 一会就安装好了。

安装完之后,启动docker服务,并将其设置为开机启动

service docker start    ---- 启动docker服务

chkconfig docker on   ----- 设置docker服务为开机启动

docker version 出现docker的信息 

二 docker镜像,容器的 基操

首先先干掉国外仓库地址,太慢了,换成国内的仓库地址。

修改  /etc/docker/daemon.json文件  

添加下面的内容

{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}

1 docker版helloworld

这里面用到了docker的几个的基础命令 

(1)docker pull library/hello-world     

          ---从远程拉取hello-world的镜像到本地 ,brary/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所            在的组,hello-world是 image 文件的名字   也可以用 docker pull centos:latest  改命令会从docker hub上拉取最新的镜像

(2)docker images 可以查看本机的镜像

(3)docker  run hello-world    ---运行image,这一步之后就可以看到如下信息,docker版hello-world就成功了

(4)docker rmi  镜像名/镜像id     ----删除本地镜像

(5) docker ps   ----查看正在运行的容器

(6)docker ps -a  ----查看本地所有的容器

(7)docker  start/stop/restart  容器id/容器名称   -----启动/停止/重启docker容器

(8)docker attach 容器id/容器名称   ----启动容器后 用这个命令进入容器

(9)docker rm 容器id/容器名称    ----删除容器

(10) docker info  --查看当前系统的docker信息

2 进入容器内部看看

   (1)先拉一个ubuntu的镜像来,并且运行起来,用下面这个命令 

docker run -it ubuntn  /bin/bash

首先docker会执行 run命令,本地有ubuntn镜像就会直接运行,没有就会到仓库拉取一个。

- i 和-t两个参数是创建一个我们能与之交互式的容器,而不是一个后台服务的容器。这个我也不懂,后面再研究研究

在这个命令的背后,docker用ubuntn镜像在文件系统内部创建一个新容器。该容器有自己的网络,ip地址,以及一个用来和宿主机进行通信的桥接网络接口。/bin/bsah是创建完容器之后要执行的命令,情动一个Bash shell

可以看到执行这条命令前后,主机名不一样,执行完命令之后,进入到容器里面了,主机名默认是容器id

你也可以先运行这个容器,然后再进入这个容器

(2)进入容器后,查看容器的host文件

cat /etc/hosts  可以看到最后一行有  172.17.0.2    99bf45c4b2c3  172.17.0.2就是容器的ip

  

----容器里安装软件包:和在ubuntu中安装是一样的。下面安装下vim编辑器

apt-get update && apt-get install vim 

----给容器命名:  启动容器是加上 --name 容器名即可 例:docker run --name docker_test -it ubuntu /bin/bash

----创建守护式容器:守护式容器没有交互式会话,非常适合运行应用程序和服务。大多数时候我们都是以守护式来运行一个容器。

守护式容器只需要在启动命令加 -d参数,表示后台运行该容器。例:docker run --name docker_test -d ubuntu /bin/bash

docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" 这个命令创建了一个守护式的容器,在后台一直打印hello world

-----查看该容器日志 docker logs daemon_dave 

     在命令中加-f参数来跟踪日志,这与tail -f命令很类似 会一直输出容器的日志。

     也可以加上 --tail  10 来跟踪某一段日志。例 docker logs --tail 10 daemon_dave  只显示最后10行日志

     也可以

------日志驱动

      控制docker守护进程和容器所用的日志驱动,通过参数 --lod-driver来实现

     docker run --log-driver="syslog"  --name daemon_dave -d ubuntu /bin/sh 。通过该命令启动容器,会禁用docker logs命令,       并且将容器的日志输出都重定向到syslog

----查看容器内进程

    docker top 容器名 

----深入查看容器的信息

    docker inspect 容器名 查看容器的名称,网络等详细信息

     用-f 或 --format参数来选定查看结果 例 docker inspect --format='{{.State.Running}}'  daemon_dave

   查看多个容器信息 docker  inspect -f='{{.Name}} {{.State.Running}}' daemon_dave 99bf45c4b2c3  

  一般docker中 容器名称和id可以通用

猜你喜欢

转载自blog.csdn.net/zgq_hw/article/details/86620277