Docker安装与应用

   日期:2020-07-09     浏览:91    评论:0    
核心提示:Docker安装与应用 ——详细流程图解及命令实现相关环境:CentOS 7 64部署文件网盘提取链接,提取码码在文章尾部https://pan.baidu.com/s/1y-Q9JpHsZ_Rbq-Ig_z4yTw一、安装VMware Tools1.下载VMware Tools及解压安装虚拟机–>安装VMware Tools2.双击打开系统下载好的VMware Tools,将其里面的VMwareTools-10.3.10-13959562.tar.gz文件放出至桌面3

Docker安装与应用 ——详细流程图解及命令实现

相关环境:

  • CentOS 7 64
  • VMware Tools
  • 网络配置
tools和网络配置在下面地址发布有过,这里不再累述,请自行参考。

https://blog.csdn.net/chendusaotongxue/article/details/106820709

安装Docker

1.安装依赖包。

sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2


加载完成。

2.安装Docker。

sudo yum install docker


安装加载完成。

3.验证是否安装成功。

docker version


4.启动Docker。

systemctl enable docker


5.将名为 hello-world 的 image 文件从仓库抓取到本地。

docker pull library/hello-world


6.在本机查看images。

docker images


7.运行这个images文件。

docker run hello-world

docker常用命令:

拉取一个名称为image的镜像。

docker pull image_name

查看主机下存在的镜像。

docker images

查看当前所有容器。

docker ps -a

对一个容器进行启动、重启和停止。

docker start container_name/container_id
docker restart container_name/container_id
docker stop container_name/container_id

进入到某个容器。

docker attach container_name/container_id

运行这个容器中的镜像,并且调用镜像里面的 bash。

docker run -t -i container_name/container_id /bin/bash

删除指定镜像,先停止这个容器,再删除容器,最后删除镜像。

docker ps
docker stop container_name/container_id

删除这个容器。

docker rm container_name/container_id

删除这个镜像。

docker rmi image_name

搜索这个镜像。

docker  search image_name

Dockerfile常用命令:

Dockerfile 是自动构建 docker 镜像的配置文件, 用户可以使用 Dockerfile 快速创建自定义的镜像。Dockerfile 中的命令非常类似于 linux 下的 shell 命令。

FROM python:2.7 #1
MAINTAINER ChenDuSao <1234546789@qq.com> #2
COPY . /app #3
WORKDIR /app #4
RUN pip install -r requirements.txt #5
EXPOSE 5000 #6
ENTRYPOINT ["python"] #7
CMD ["app.py"] #8

1、从 Docker Hub 上 pull 下 python 2.7 的基础镜像。
2、显示维护者的信息。
3、copy 当前目录到容器中的 /app 目录下 复制本地主机的 [src]( Dockerfile 所在目录的相对路径)到容器里 [dest]。
4、指定工作路径为 /app。
5、安装依赖包。
6、暴露 5000 端口。
8、启动 app。

  • FROM
    FROM 是用于指定基础的 images ,一般格式为 FROM [image] or FORM [image]:[tag] ,所有的 Dockerfile 都用该以 FROM 开头,FROM 命令指明 Dockerfile 所创建的镜像文件以什么镜像为基础,FROM 以后的所有指令都会在 FROM 的基础上进行创建镜像。可以在同一个 Dockerfile 中多次使用 FROM 命令用于创建多个镜像。比如我们要指定 python 2.7 的基础镜像,我们可以像如下写法一样:
FROM python:2.7
  • MAINTAINER
    MAINTAINER 是用于指定镜像创建者和联系方式,一般格式为 MAINTAINER [name] 。
MAINTAINER ChenDuSao <1234546789@qq.com>
  • COPY
    COPY 是用于复制本地主机的 [src](为 Dockerfile 所在目录的相对路径)到容器中的 [dest]。当使用本地目录为源目录时,推荐使用 COPY 。一般格式为 COPY [src][dest]。例如我们要拷贝当前目录到容器中的 /app 目录下,我们可以这样操作:
COPY . /app
  • WORKDIR
    WORKDIR 用于配合 RUN,CMD,ENTRYPOINT 命令设置当前工作路径。可以设置多次,如果是相对路径,则相对前一个 WORKDIR 命令。默认路径为/。一般格式为 WORKDIR /path/to/work/dir 。例如我们设置 /app 路径,我们可以进行如下操作:
WORKDIR /app
  • RUN
    RUN 用于容器内部执行命令。每个 RUN 命令相当于在原有的镜像基础上添加了一个改动层,原有的镜像不会有变化。一般格式为 RUN 。例如我们要安装 python 依赖包,我们做法如下:
RUN pip install -r requirements.txt
  • EXPOSE
    EXPOSE 命令用来指定对外开放的端口。一般格式为 EXPOSE [port] [[port]…
    例如上面那个例子,开放5000端口:
EXPOSE 5000
  • ENTRYPOINT
    ENTRYPOINT 可以让你的容器表现得像一个可执行程序一样。一个 Dockerfile 中只能有一个 。ENTRYPOINT,如果有多个,则最后一个生效。
    ENTRYPOINT 命令也有两种格式:
    ENTRYPOINT [“executable”, “param1”, “param2”] :推荐使用的 exec 形式。
    ENTRYPOINT command param1 param2 :shell 形式。
    例如下面这个,我们要将 python 镜像变成可执行的程序,我们可以这样去做:
ENTRYPOINT ["python"]
  • CMD
    CMD 命令用于启动容器时默认执行的命令,CMD 命令可以包含可执行文件,也可以不包含可执行文件。不包含可执行文件的情况下就要用 ENTRYPOINT 指定一个,然后 CMD 命令的参数就会作为ENTRYPOINT的参数。一个 Dockerfile 中只能有一个CMD,如果有多个,则最后一个生效。而 CMD 的 shell 形式默认调用 /bin/sh -c 执行命令。
    CMD 命令会被 Docker 命令行传入的参数覆盖:docker run busybox /bin/echo Hello Docker 会把 CMD 里的命令覆盖。
    例如我们要启动 /app ,我们可以用如下命令实现:
CMD ["executable","param1","param2"]  #推荐使用的 exec 形式。
CMD ["param1","param2"]   #无可执行程序形式
CMD command param1 param2
CMD ["app.py"]

构建dockerfile

1.touch命令创建dockerfile文件并写入内容。

FROM nginx
MAINTAINER ChenDuSap <123456789@qq.com>
RUN echo '<h1>chendusao,jiayou!</h1>' > /usr/share/nginx/html/index.html


2.在dockerfile文件目录执行(不要漏了 “.”)。

docker build -t chendusao/nginx_web:v1 .


3.查看镜像。

docker images


4.启动容器。

docker run --name nginx_web -d -p 8080:80 chendusao/nginx_web:v1

5.映射8080端口,用浏览器访问服务器:http://本机地址:8080。

参考文献:

https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html

此篇为本人学习心得个人第二篇原创,希望互勉多多指教。如果喜欢就点赞收藏关注一波吧,别下次一定噢。
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服