CentOS7-Docker-DockerFile-05
CentOS7-Docker-DockerFile-05
1、什么是DockerFile
- dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
- 构建步骤:
- 编写DockerFile文件
- docker build 构建镜像
- docker run
查看镜像的DockerFile
Docker Hub地址
2、DockerFile构建过程
- 基础知识:
- 每条保留字指令都必须为大写字母且后面要跟随至少一个参数
- 指令按照从上到下,顺序执行
- # 表示注释
- 每条指令都会创建一个新的镜像层,并对镜像进行提交
- 流程:
- docker从基础镜像运行一个容器
- 执行一条指令并对容器做出修改
- 执行类似 docker commit 的操作提交一个新的镜像层
- Docker再基于刚提交的镜像运行一个新容器
- 执行dockerfile中的下一条指令直到所有指令都执行完成!
- 说明:
- 从应用软件的角度来看,DockerFile,docker镜像与docker容器分别代表软件的三个不同阶段。
- DockerFile 是软件的原材料 (代码)
- Docker 镜像则是软件的交付品 (.apk)
- Docker 容器则是软件的运行状态 (客户下载安装执行)
- DockerFile 面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可!
- DockerFile:需要定义一个DockerFile,DockerFile定义了进程需要的一切东西。
- DockerFile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当引用进行需要和系统服务和内核进程打交道,这时需要考虑如何设计 namespace的权限控制)等等。
- Docker镜像:在DockerFile 定义了一个文件之后,Docker build 时会产生一个Docker镜像,当运行Docker 镜像时,会真正开始提供服务;
- Docker容器:容器是直接提供服务的。
3、DockerFile指令
- 关键字
关键字 | 作用 |
---|---|
FROM | 基础镜像,当前新镜像是基于哪个镜像的 |
MAINTAINER | 镜像维护者的姓名混合邮箱地址 |
RUN | 容器构建时需要运行的命令 |
EXPOSE | 当前容器对外暴露的端口 |
WORKDIR | 指定在创建容器后,终端默认登录的进来工作目录 |
ENV | 用来在构建镜像过程中设置环境变量 |
ADD | 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包 |
COPY | 类似ADD,拷贝文件和目录到镜像中! |
VOLUME | 容器数据卷,用于数据保存和持久化工作 |
CMD | 指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有后一个生效! |
ENTRYPOINT | 指定一个容器启动时要运行的命令!和CMD一样 |
ONBUILD | 当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的ONBUILD被触发 |
DockerFile菜鸟教程
4、实战测试
Docker Hub 中99% 的镜像都是通过在base镜像(Scratch)中安装和配置需要的软件构建出来的
1、自定义一个CentOS
1、查看下官方默认的CentOS的情况:
docker run -it --name centos001 centos /bin/bash
目的:使我们自己的镜像具备如下:登陆后的默认路径、vim编辑器、查看网络配置ifconfig支持
2、在宿主机的home目录下,创建 mydockerfile-test文件夹,新建dockerfile-centos文件
FROM centos
MAINTAINER hou<1658951186@qq.com>ENV MYPATH /usr/local
WORKDIR $MYPATHRUN yum -y install vim
RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH
CMD echo "-------------------------end------------------------"
CMD /bin/bash
3、通过 dockerfile-centos文件,生成镜像
当前宿主机中的镜像列表信息
-- 生成镜像
-f dockerfile地址
-t 新镜像名字:版本号
. 表示当前目录位置docker build -f dockerfile-centos -t hou-centos:1.0 .
运行过程[root@localhost dockerfile-test]# docker build -f dockerfile-centos -t hou-centos:1.0 .
Sending build context to Docker daemon 2.048kB
Step 1/10 : FROM centos---> 5d0da3dc9764
Step 2/10 : MAINTAINER hou<1658951186@qq.com>---> Running in 464d6efaf018
Removing intermediate container 464d6efaf018---> 1b6e84821098
Step 3/10 : ENV MYPATH /usr/local---> Running in e823f2263d02
Removing intermediate container e823f2263d02---> 685794482262
Step 4/10 : WORKDIR $MYPATH---> Running in 6f2a64534b44
Removing intermediate container 6f2a64534b44---> c127563bb763
Step 5/10 : RUN yum -y install vim---> Running in baa5b8015dc2
CentOS Linux 8 - AppStream 1.9 MB/s | 8.4 MB 00:04
CentOS Linux 8 - BaseOS 3.4 MB/s | 4.6 MB 00:01
CentOS Linux 8 - Extras 19 kB/s | 10 kB 00:00
Dependencies resolved.
================================================================================Package Arch Version Repository Size
================================================================================
Installing:vim-enhanced x86_64 2:8.0.1763-16.el8 appstream 1.4 M
Installing dependencies:gpm-libs x86_64 1.20.7-17.el8 appstream 39 kvim-common x86_64 2:8.0.1763-16.el8 appstream 6.3 Mvim-filesystem noarch 2:8.0.1763-16.el8 appstream 49 kwhich x86_64 2.21-16.el8 baseos 49 kTransaction Summary
================================================================================
Install 5 PackagesTotal download size: 7.8 M
Installed size: 30 M
Downloading Packages:
(1/5): gpm-libs-1.20.7-17.el8.x86_64.rpm 152 kB/s | 39 kB 00:00
(2/5): vim-filesystem-8.0.1763-16.el8.noarch.rp 1.4 MB/s | 49 kB 00:00
(3/5): vim-enhanced-8.0.1763-16.el8.x86_64.rpm 2.7 MB/s | 1.4 MB 00:00
(4/5): which-2.21-16.el8.x86_64.rpm 192 kB/s | 49 kB 00:00
(5/5): vim-common-8.0.1763-16.el8.x86_64.rpm 7.1 MB/s | 6.3 MB 00:00
--------------------------------------------------------------------------------
Total 4.7 MB/s | 7.8 MB 00:01
warning: /var/cache/dnf/appstream-02e86d1c976ab532/packages/gpm-libs-1.20.7-17.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS Linux 8 - AppStream 499 kB/s | 1.6 kB 00:00
Importing GPG key 0x8483C65D:Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65DFrom : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing : 1/1 Installing : which-2.21-16.el8.x86_64 1/5 Installing : vim-filesystem-2:8.0.1763-16.el8.noarch 2/5 Installing : vim-common-2:8.0.1763-16.el8.x86_64 3/5 Installing : gpm-libs-1.20.7-17.el8.x86_64 4/5 Running scriptlet: gpm-libs-1.20.7-17.el8.x86_64 4/5 Installing : vim-enhanced-2:8.0.1763-16.el8.x86_64 5/5 Running scriptlet: vim-enhanced-2:8.0.1763-16.el8.x86_64 5/5 Running scriptlet: vim-common-2:8.0.1763-16.el8.x86_64 5/5 Verifying : gpm-libs-1.20.7-17.el8.x86_64 1/5 Verifying : vim-common-2:8.0.1763-16.el8.x86_64 2/5 Verifying : vim-enhanced-2:8.0.1763-16.el8.x86_64 3/5 Verifying : vim-filesystem-2:8.0.1763-16.el8.noarch 4/5 Verifying : which-2.21-16.el8.x86_64 5/5 Installed:gpm-libs-1.20.7-17.el8.x86_64 vim-common-2:8.0.1763-16.el8.x86_64 vim-enhanced-2:8.0.1763-16.el8.x86_64 vim-filesystem-2:8.0.1763-16.el8.noarchwhich-2.21-16.el8.x86_64 Complete!
Removing intermediate container baa5b8015dc2---> d9587c88dbaf
Step 6/10 : RUN yum -y install net-tools---> Running in b9aacd14dd40
Last metadata expiration check: 0:00:10 ago on Thu Jan 6 14:48:41 2022.
Dependencies resolved.
================================================================================Package Architecture Version Repository Size
================================================================================
Installing:net-tools x86_64 2.0-0.52.20160912git.el8 baseos 322 kTransaction Summary
================================================================================
Install 1 PackageTotal download size: 322 k
Installed size: 942 k
Downloading Packages:
net-tools-2.0-0.52.20160912git.el8.x86_64.rpm 2.5 MB/s | 322 kB 00:00
--------------------------------------------------------------------------------
Total 662 kB/s | 322 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing : 1/1 Installing : net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 Running scriptlet: net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 Verifying : net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 Installed:net-tools-2.0-0.52.20160912git.el8.x86_64 Complete!
Removing intermediate container b9aacd14dd40---> 34905ae822a5
Step 7/10 : EXPOSE 80---> Running in a1b476e1c698
Removing intermediate container a1b476e1c698---> c1dee8f8843a
Step 8/10 : CMD echo $MYPATH---> Running in 2fdaef7a94e6
Removing intermediate container 2fdaef7a94e6---> 151167473545
Step 9/10 : CMD echo "-------------------------end------------------------"---> Running in 19a99b23e9b9
Removing intermediate container 19a99b23e9b9---> 1782e00525b2
Step 10/10 : CMD /bin/bash---> Running in e80c8a8d48b3
Removing intermediate container e80c8a8d48b3---> 25ad1dfbbb2f
Successfully built 25ad1dfbbb2f
Successfully tagged hou-centos:1.0
4、查看生成的镜像
5、运行生成的centos镜像测试
-- 要加版本号哈,不然就会先去搜索下载镜像再运行
docker run -it --name centos001 hou-centos:1.0 /bin/bash
6、列出镜像地的变更历史
--docker history 镜像名称或镜像ID
docker history 25ad1dfbbb2f
2、CMD 和 ENTRYPOINT 关键字的区别
- 两个命令都是指定一个容器启动时要运行的命令
- CMD:会被 docker run 之后的参数替换,只有最后一个生效!
- ENTRYPOINT: docker run 之后的参数会被当做参数传递给 ENTRYPOINT,形成新的组合!
测试CMD命令
1、新建 dockerfile-cmd文件
-- 启动容器后,打印当前目录下所有的文件列表信息
FROM centos
CMD ["ls","-a"]
2、build dockerfile-centos文件,生成镜像
docker build -f dockerfile-cmd -t centos-cmd:1.0 .
3、启动容器测试
docker run -it centos-cmd:1.0
4、如果我们希望用 -l 列表展示信息,我们就需要加上 -l参数
docker run -it centos-cmd:1.0 -l
问题:
我们可以看到可执行文件找不到的报错,executable file not found。
跟在镜像名后面的是 command,运行时会替换 CMD 的默认值。因此这里的 -l 替换了原来的 CMD,而不是添加在原来的 ls -a 后面。
而 -l 根本不是命令,所以自然找不到。
如果我们希望加入 -l 这参数,我们就必须重新完整的输入这个命令:run -it centos-cmd:1.0 ls -la
测试ENTRYPOINT命令
1、新建 dockerfile-entrypoint文件
-- 启动容器后,打印当前目录下所有的文件列表信息
FROM centos
ENTRYPOINT ["ls","-a"]
2、build dockerfile-entrypoint文件,生成镜像
docker build -f dockerfile-entrypoint -t centos-entrypoint:1.0 .
3、启动容器测试
docker run -it centos-entrypoint:1.0
4、测试-l参数,发现可以直接使用,这里就是一种追加,
我们可以明显的知道 CMD 和ENTRYPOINT 的区别了
docker run -it centos-entrypoint:1.0 -l
3、自定义镜像 tomcat
1、准备工作
1、在宿主机home目录下新建tomcat文件夹
2、将apache-tomcat-8.5.73.tar.gz和jdk-linux-x64.tar.gz拷贝到 /home/tomcat目录下
3、在 /home/tomcat目录下,新建个Dockerfile文件(Dockerfile这个名称,在 docker build 时,就不用加 -f 选项了)
Tomcat8.5.73下载地址
JDK1.8.0_131下载地址
2、创建 Dockerfile文件
FROM centos
MAINTAINER hou<1658981186@qq.com>#把宿主机当前上下文的read.txt拷贝到容器/usr/local/路径下
COPY read.txt /usr/local/cincontainer.txt#把java与tomcat添加到容器中
ADD jdk-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.73.tar.gz /usr/local/#安装vim编辑器
RUN yum -y install vim#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_131
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.73
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.73
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin#容器运行时监听的端口
EXPOSE 8080#启动时运行tomcat并动态打印日志信息
CMD /usr/local/apache-tomcat-8.5.73/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.73/bin/logs/catalina.out
3、docker build Dockerfile文件,生成镜像
docker build -t hou-tomcat:1.0 .
-- 运行过程[root@localhost tomcat]# docker build -t hou-tomcat:1.0 .
Sending build context to Docker daemon 196.1MB
Step 1/15 : FROM centos---> 5d0da3dc9764
Step 2/15 : MAINTAINER hou<1658981186@qq.com>---> Running in dddc2af70a27
Removing intermediate container dddc2af70a27---> 8d3b9475b6c3
Step 3/15 : COPY read.txt /usr/local/cincontainer.txt---> aabb697f2f9a
Step 4/15 : ADD jdk-linux-x64.tar.gz /usr/local/---> fb7fa22145b1
Step 5/15 : ADD apache-tomcat-8.5.73.tar.gz /usr/local/---> 951bb5657195
Step 6/15 : RUN yum -y install vim---> Running in f593431621b5
CentOS Linux 8 - AppStream 56 kB/s | 8.4 MB 02:34
CentOS Linux 8 - BaseOS 611 kB/s | 4.6 MB 00:07
CentOS Linux 8 - Extras 14 kB/s | 10 kB 00:00
Dependencies resolved.
================================================================================Package Arch Version Repository Size
================================================================================
Installing:vim-enhanced x86_64 2:8.0.1763-16.el8 appstream 1.4 M
Installing dependencies:gpm-libs x86_64 1.20.7-17.el8 appstream 39 kvim-common x86_64 2:8.0.1763-16.el8 appstream 6.3 Mvim-filesystem noarch 2:8.0.1763-16.el8 appstream 49 kwhich x86_64 2.21-16.el8 baseos 49 kTransaction Summary
================================================================================
Install 5 PackagesTotal download size: 7.8 M
Installed size: 30 M
Downloading Packages:
(1/5): gpm-libs-1.20.7-17.el8.x86_64.rpm 38 kB/s | 39 kB 00:01
(2/5): vim-filesystem-8.0.1763-16.el8.noarch.rp 18 kB/s | 49 kB 00:02
(3/5): which-2.21-16.el8.x86_64.rpm 6.3 kB/s | 49 kB 00:07
(4/5): vim-enhanced-8.0.1763-16.el8.x86_64.rpm 32 kB/s | 1.4 MB 00:43
(5/5): vim-common-8.0.1763-16.el8.x86_64.rpm 31 kB/s | 6.3 MB 03:28
--------------------------------------------------------------------------------
Total 38 kB/s | 7.8 MB 03:30
warning: /var/cache/dnf/appstream-02e86d1c976ab532/packages/gpm-libs-1.20.7-17.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS Linux 8 - AppStream 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x8483C65D:Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65DFrom : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing : 1/1 Installing : which-2.21-16.el8.x86_64 1/5 Installing : vim-filesystem-2:8.0.1763-16.el8.noarch 2/5 Installing : vim-common-2:8.0.1763-16.el8.x86_64 3/5 Installing : gpm-libs-1.20.7-17.el8.x86_64 4/5 Running scriptlet: gpm-libs-1.20.7-17.el8.x86_64 4/5 Installing : vim-enhanced-2:8.0.1763-16.el8.x86_64 5/5 Running scriptlet: vim-enhanced-2:8.0.1763-16.el8.x86_64 5/5 Running scriptlet: vim-common-2:8.0.1763-16.el8.x86_64 5/5 Verifying : gpm-libs-1.20.7-17.el8.x86_64 1/5 Verifying : vim-common-2:8.0.1763-16.el8.x86_64 2/5 Verifying : vim-enhanced-2:8.0.1763-16.el8.x86_64 3/5 Verifying : vim-filesystem-2:8.0.1763-16.el8.noarch 4/5 Verifying : which-2.21-16.el8.x86_64 5/5 Installed:gpm-libs-1.20.7-17.el8.x86_64 vim-common-2:8.0.1763-16.el8.x86_64 vim-enhanced-2:8.0.1763-16.el8.x86_64 vim-filesystem-2:8.0.1763-16.el8.noarchwhich-2.21-16.el8.x86_64 Complete!
Removing intermediate container f593431621b5---> ccc640109fd3
Step 7/15 : ENV MYPATH /usr/local---> Running in d6260b3bda47
Removing intermediate container d6260b3bda47---> 36d5d0b5ef33
Step 8/15 : WORKDIR $MYPATH---> Running in 6284727f4c3b
Removing intermediate container 6284727f4c3b---> e9d7a2395eb2
Step 9/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_131---> Running in bdca27b8e1ce
Removing intermediate container bdca27b8e1ce---> 4899302c4ebb
Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar---> Running in d13f4ab88cbe
Removing intermediate container d13f4ab88cbe---> 234f0403b019
Step 11/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.73---> Running in 732c5ac41e60
Removing intermediate container 732c5ac41e60---> 6186375490d8
Step 12/15 : ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.73---> Running in 570c7a15339b
Removing intermediate container 570c7a15339b---> 0a16f2385ec2
Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin---> Running in df7eebe8078e
Removing intermediate container df7eebe8078e---> 3ea0b91d7c81
Step 14/15 : EXPOSE 8080---> Running in 8a4872c8e9c3
Removing intermediate container 8a4872c8e9c3---> 67d4955ad68f
Step 15/15 : CMD /usr/local/apache-tomcat-8.5.73/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.73/bin/logs/catalina.out---> Running in 827c14df6be7
Removing intermediate container 827c14df6be7---> 466012b31894
Successfully built 466012b31894
Successfully tagged hou-tomcat:1.0
4、查看生成的镜像
5、启动容器
备注:
Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied解决办法:在挂载目录后多加一个--privileged=true参数即可
docker run -d -p 9090:8080 --name tomcat001 -v /home/tomcat/test:/usr/local/apache-tomcat-8.5.73/webapps/test -v /home/tomcat/tomcat_logs:/usr/local/apache-tomcat-8.5.73/logs --privileged=true hou-tomcat:1.0
6、验证测试访问
curl localhost:9090
7、发布项目测试
1、在 /home/tomcat/test 目录下,新建 WEB-INF文件
2、在 /home/tomcat/test/WEB-INF目录下,新建 web.xml启动文件
3、在 /home/tomcat/test 目录下,新建 test.jsp文件
web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>test</display-name>
</web-app>
test.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>heiheihei</title>
</head>
<body>
-----------welcome------------
<%=" my docker tomcat"%>
<br>
<br>
<% System.out.println("-------my docker tomcat-------");%>
</body>
</html>
8、再次访问测试
curl localhost:9090/test/test.jsp
9、查看日志
tail -f catalina.out
4、发布镜像
注册dockerhub ,需要有一个账号
1、登录 dockerhub
docker login -u 用户名
2、发布镜像
docker push 用户名/镜像名:版本号
显示带有标记的图像不存在于本地
-- 执行下面这条命令
docker tag 镜像ID 用户名/镜像名:版本号
再次 docker push
成功后,是这样的
可能是因为我用的虚拟机上传镜像,我的仓库里没有
docker制作自己的镜像并上传dockerhub—乔叶叶
5、总结
这是跟着大佬学习做的笔记,大家也可以去看看哈
【狂神说Java】Docker最新超详细版教程通俗易懂
CentOS7-Docker-DockerFile-05相关推荐
- centos7 docker安装和使用_入门教程
centos7 docker安装和使用_入门教程 原文:centos7 docker安装和使用_入门教程 说明:本文也是参考互联网上的文章写的,感谢相关作者的贡献. 操作系统 64位CentOS Li ...
- Centos7: Docker安装与实践
Centos7: Docker安装与实践 web 服务与客户端开发实战总结 前言 这是中山大学数据科学与计算机学院2019年服务计算的作业项目.所有代码与博客将被上传至github当中. Github ...
- Docker Dockerfile
Docker Dockerfile 转自:https://www.runoob.com/docker/docker-dockerfile.html 什么是 Dockerfile? Dockerfile ...
- docker~Dockerfile优化程序的部署
一些理论 我们都知道docker这个容器工具可以帮助我们快速进行环境的部署,这对于运营人员来说,无疑是个福音,而这个工作大叔认为不应该是运营人员干的,而是由开发人员来做,因为只有你知道你干的是什么,你 ...
- Centos7 Docker私有仓库搭建
Centos7 Docker私有仓库搭建 仓库:集中存放镜像的地方,可分为公共仓库和私有仓库 (公共仓库"http://hub.docker.com"或国内的"http: ...
- 安装vm12+CentOS7+Docker以及常见问题解决
想写一些关于数据库操作的文章,比如mybatis等等,首先需要搭环境,我准备搭建vm12+centos7+docker+mysql环境,这里做了一些安装记录以及在安装时碰到的问题. vm12+Cent ...
- 斐讯n1安装centos7+docker openwrt
斐讯n1安装centos7+docker openwrt 首先声明,我的n1是降级过的,系统默认usb启动优先级大于emmc,所以可以直接将镜像写入u盘,通过u盘启动系统,同时通过脚本将系统写入emm ...
- Docker Dockerfile 定制镜像
使用 Dockerfile 定制镜像 Dockerfile 指令详解 FROM 指定基础镜像 RUN 执行命令 构建镜像 镜像构建上下文(Context) 其它 docker build 的用法 直接 ...
- Centos7 Docker Jenkins ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- centos7 docker端口_使用Docker部署Python应用
0 引言 在linux系统部署Python应用需要安装较多依赖,在内网环境下十分繁琐,而且有时候还需要在其他服务器运行,则需要重复搭建环境和部署应用,因此本文介绍利用docker容器技术来部署.鉴于本 ...
最新文章
- 关于赠书《VS Code》断货延迟的通知!
- CentOS 7 安装 MySQL
- 数据结构——逆波兰式
- iOS之UITraitCollection
- keyevent 封装_adb shell input keyevent 控制按键输入的数值(收藏版)
- [转帖]jQuery框架学习第八天:ASP.NET jQuery实施方案
- CSDN博客排名20000以后的用户怎么查询具体排名
- 对不起,又秀了一波恩爱!
- 湖北经济学院计算机专业全国排名,2018年湖北经济学院世界排名、中国排名、专业排名...
- Maven搭建Spring Security3.2项目详解
- Java爬虫,数据采集经验分享
- 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖
- 32位qt程序, 利用32位mysql驱动,连接64位mysql8.0
- 给Matlab添加工具箱Toolbox的方法(有截图详细讲解)(R2019b)
- 幼儿 Android App,中国幼儿园在线app
- 玩转Luat 进阶篇③——远程升级实现过程详解
- 晨曦 - 江湖一剑客
- 基因家族特征分析 - 染色体定位分析
- 朋友,别再干巴巴地“陈述”简历了,10条写作的技巧分享给你
- 1.1.7. Least Angle Regression(最小角回归)和 1.1.8. LARS Lasso