Docker学习笔记(一)docker的介绍和安装

                                    docker的介绍和安装

一.docker 介绍 

docker 可以粗糙的理解为虚拟机,但是确实不是真正的虚拟机,通常形容它是一个开挂的chroot

 

二.在linux下安装 docker 

第二句命令的含义是修改  centos 的普通用户imooc到 docker 组里面,这样不需要用root 用户就可以执行docker 的命令

systemctl start docker.service   启动docker 

docker  -v   或者 docker info

docker  images 查看 本地docker 已经安装的镜像

docker rmi 镜像名称     删除镜像

 docker run -p 8080:80 -d daocloud.io/nginx  运行一个nginx 镜像   -p 参数 将 nginx 的80端口映射成本地的8080端口  

-d  以守护进程的方式在后台运行

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

docker cp index.html  容器id://usr/share/nginx/html    将index.html拷贝到指定的容器目录里面

docker  stop  容器id  停止容器的运行

 

三.Dockerfile 的形式构建一个镜像并运行

实战(1)

首先编写一个最简单的Dockerfile文件 ,注意名字通常就写成Dockerfile,内容如下

FROM alpine:latest

MAINTAINER duanzhaoxu

CMD echo ‘hello docker’

第一句from 从远端拉取alpine:latest,第二句没有实际意义,代表此Dockerfile是duanzhaoxu写的,第三句代表构建好此docker镜像之后,运行此镜像会输出 hello docker

docker  build -t  hello_docker  Dockerfile的目录    注意:-t 表示指定构建指定目录下的Dockerfile 之后的镜像 仓库名称 

docker images    

docker run  hello_docker  运行docker镜像输出hello docker

实战(二)

FROM ubuntu
MAINTAINER DZX
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html  /var/www/html
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
EXPOSE 80


  
  1. [root@localhost so]# mkdir docker222
  2. [root@localhost so]# vim Dockerfile
  3. [root@localhost so]# vim Dockerfile
  4. [root@localhost so]# ll
  5. 总用量 1604
  6. drwxr-xr-x. 2 root root 24 8 3 19:47 docker111
  7. drwxr-xr-x. 2 root root 6 8 3 19:55 docker222
  8. -rw-r--r--. 1 root root 166 8 3 20:16 Dockerfile
  9. -rw-r--r--. 1 root root 1440662 6 21 10:24 jna-4.5.1.jar
  10. -rw-r--r--. 1 root root 1010 6 25 10:02 jnatest1.java
  11. -rw-r--r--. 1 root root 174896 6 21 16:18 libvehicleTurn1806212.so
  12. -rw-r--r--. 1 root root 297 6 21 11:47 test180625.cpp
  13. -rw-r--r--. 1 root root 1542 6 21 16:19 TestVehicleTurn.class
  14. -rw-r--r--. 1 root root 2025 6 21 16:19 TestVehicleTurn.java
  15. -rw-r--r--. 1 root root 612 6 21 16:19 TestVehicleTurn$Lig.class
  16. [root@localhost so]# cp Dockerfile ./docker222
  17. [root@localhost so]# cd docker222
  18. [root@localhost docker222]# ll
  19. 总用量 4
  20. -rw-r--r--. 1 root root 166 8 3 20:16 Dockerfile
  21. [root@localhost docker222]# vim index.html
  22. [root@localhost docker222]# docker build -t dzx/hello-nginx .
  23. Sending build context to Docker daemon 3.072 kB
  24. Step 1/7 : FROM ubuntu
  25. Trying to pull repository docker.io/library/ubuntu ...
  26. latest: Pulling from docker.io/library/ubuntu
  27. c64513b74145: Pull complete
  28. 01b8b12bad90: Pull complete
  29. c5d85cf7a05f: Pull complete
  30. b6b268720157: Pull complete
  31. e12192999ff1: Pull complete
  32. Removing intermediate container c1581280d1ee
  33. Successfully built 2a88d3ddfc14
  34. [root@localhost docker222]# docker im
  35. image images import
  36. [root@localhost docker222]# docker images
  37. REPOSITORY TAG IMAGE ID CREATED SIZE
  38. dzx/hello-nginx latest 2a88d3ddfc14 29 seconds ago 182 MB
  39. hello_docker latest 24f45ccc6e6c 32 minutes ago 4.41 MB
  40. docker.io/ubuntu latest 735f80812f90 7 days ago 83.5 MB
  41. daocloud.io/nginx latest c82521676580 9 days ago 109 MB
  42. docker.io/rabbitmq 3.7.7-management 8c06649c0351 2 weeks ago 149 MB
  43. docker.io/alpine latest 11cd0b38bc3c 3 weeks ago 4.41 MB
  44. [root@localhost docker222]# docker run -d -p 80:80 dzx/hello-nginx
  45. f6cfd5f4aee49a2a912fbb62c83d954c051ba8ab2c77805ebe5078cba7e10478
  46. [root@localhost docker222]# curl localhost:
  47. jitnian tianqi henhao


 

例如a 镜像有10层,b镜像有7层,可能有5层是共享的,这样对于docker容器的压力会小很多。

 

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/81393021

(完)