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

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


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

猜你喜欢

转载自blog.csdn.net/qq_31905135/article/details/81393021