Dockerfile制作容器--ssh容器,详细步骤与指令介绍

这篇具有很好参考价值的文章主要介绍了Dockerfile制作容器--ssh容器,详细步骤与指令介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Dockerfile介绍

什么是Dockerfile

dockerfile的基本结构

格式

dockerfile指令

FROM指令

MAINTAINER指令

COPY指令

ADD指令

WORKDIR指令

VOLUME指令

EXPOSE指令

ENV指令

RUN指令

CMD指令

ENTRYPOINT指令

使用Dockerfile创建一个支持SSH服务的镜像

测试


Dockerfile介绍

什么是Dockerfile

        Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。一台主机上可以有多个Dockerfile,可以在不同目录编写Dockerfile,然后再Dockerfile所在的目录下构建新的镜像。

dockerfile的基本结构

一般分为四个部分

  • 基础镜像信息
  • 维护者信息
  • 镜像操作指令
  • 容器启动时执行指令        

格式

docker build [options] PATH | URL |

1.选项-options

​​

  • -t:指定要创建的目标镜像名

  • -c:CPU份额(相对权限)

  • -m:内存限制

  • --build-arg:设置构建时变量,就是构建的时候修改ARG指令的参数

2.PATH

一般用.(即当前工作目录)作为上下文路径

3.URL

docker build 还支持从URL构建,docker buildhttp://server/context.tar.gz ,如果所给出的URL是个tar压缩包,那么docker引擎会下载这个包,并自动解压缩,以其作为上下文,开始构建

4.-

docker build还支持从标准输入中读取Dockerfile进行构建

 docker build - < Dockerfile 或者cat Dockerfile | docker build -

如果标准输入传入的是文本文件,则将其视为Dockerfile,并开始构建。这种形式由于直接从标准输入中读取Dockerfile的内容,它没有上下文,因此不可以像其他方法那样可以将本地文件COPY进镜像之类的事情

 docker build - < context.tar.gz

如果发现标准输入的文件格式是 gzip 、 bzip2 以及 xz 的话, 将会使其为上下文压缩包,直接将其展开, 将里面视为上下文, 并开始构建

dockerfile指令

FROM指令

1.介绍

  • FROM 指令必须是 Dockerfile 中非注释行的第一个指令,即一个 Dockerfile 从FROM语句开始;
  • FROM 指令用于为镜像文件构建过程指定基础镜像,后续的指令运行于此基础镜像所提供的运行环境;
  • 基础镜像可以是一个任何可用镜像文件,默认情况下,docker build会在docker主机上查找指
    定的镜像文件,在其不存在时,则会自动从 Docker 的公共库 pull 镜像下来,果找不到指定的镜像文件,docker build 会返回一个错误信息;
  • FROM可以在一个 Dockerfile 中出现多次,如果有需求在一个 Dockerfile 中创建多个镜像
     
  • 如果FROM语句没有指定镜像标签,则默认使用latest标签

2.示例

FROM busybox:latest

MAINTAINER指令

1.介绍

  • 用于让dockerfile制作者提供本人的详细信息
  • dockerfile 并不限制MAINTAINER 指令可以出现的位置,但推荐将其放置于FROM指令之后
     

2.示例

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
 

COPY指令

1.介绍

  • 从上下文目录中复制文件或目录到容器指定的路径

2.格式

COPY <src>...<dest>

注意

  • 要复制的文件或者目录是多个,支持使用通配符
  • 要复制的文件必须是build上下文中的路径,不能是其父目录中的文件
     
  • 如果是目录,则其内部文件或子目录会被递归复制,但目录自身不会被复制;
     
  • 使用 COPY 指令, 源文件的各种元数据都会保留。 比如读、 写、 执行权限、 文件变更时间等
     
  • 目标路径,即正在创建的image的文件系统路径;建议使用绝对路径, 也可以是相对于工作目录的相对路径( 工作目录可以用 WORKDIR 指令来指定);
  • 目标路径不需要事先创建, 如果目录不存在会在复制文件前先行创建缺失目录

3.示例

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
COPY index.html /data/web/html/ #要确保dockerfile 同级路径下有index.html文件
 

ADD指令

1.介绍

  • ADD 指令类似于COPY指令,ADD支持使用TAR文件和URL路径
     

2.格式

ADD <src> .. <dest> 或
ADD ["<src>".. "<dest>"]

  • 如果是一个本地系统上的压缩格式的tar文件,它将被展开为一个目录,其行为类似于"tar-x"命令;
  • 然而,通过URL获取到的tar文件将不会自动展开
     

3.1示例--COPY网上路径(URL)的tar包

编写dockerfile文件

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
COPY index.html /data/web/html/
ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/    # 在镜像中并不会解压

注:ADD 的是网上的nginx下载路径
 

使用build制作镜像

[root@localhost test1]# docker build -t busyboxhttpd:v0.3 ./
 

基于此镜像新建容器,进行验证

[root@localhost ~]# docker run --name web1 --rm busyboxhttpd:v0.3 ls
/usr/local/src
nginx-1.15.8.tar.gz
 

3.2COPY本地的路径tar包

编写Dockerfile文件

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
COPY index.html /data/web/html/
#ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
ADD nginx-1.15.8.tar.gz /usr/local/src/
 

在dockerfile同级目录下准备好yum.repos.d 目录

[root@localhost test1]# wget http://nginx.org/download/nginx-1.15.8.tar.gz
 

使用build 制作镜像

[root@localhost test1]# docker build -t busyboxhttpd:v0.4 ./

基于此新建镜像运行容器,进行验证

[root@localhost ~]# docker run --name web1 --rm busyboxhttpd:v0.4 ls
/usr/local/src /usr/local/src/nginx-1.15.8
/usr/local/src:
nginx-1.15.8
/usr/local/src/nginx-1.15.8:
CHANGES
CHANGES.ru
...

WORKDIR指令

1.介绍

  • 设定规则目录,用于为Dockerfile中所有的RUN、CMD、ENTRYPOINT、COPY和ADD指令

2.格式

WORKDIR <dirpath>

  • 在Dockerfile文件中,WORKDIR指令可出现多次,其路径也可以为相对路径,不过,其是相对此前一个WORKDIR指令指定的路径;
  • 如该目录不存在, WORKDIR 会帮你建立目录
  • 另外,WORKDIR也可调用由ENV指令定义的变量;
     

VOLUME指令

1.介绍

  • 用于在image中创建一个挂载点目录,以挂载Docker host上的卷或其它容器上的卷。在Dockerfile 中, 我们可以事先指定某些目录挂载为匿名卷, 这样在运行时如果用户不指定挂
  • 载, 其应用也可以正常运行, 不会向容器存储层写入大量数据
     

2.语法
例如:VOLUME /data

  • 这里的 /data 目录就会在运行时自动挂载为匿名卷, 任何向 /data 中写入的信息都不会记录进容器存储层, 从而保证了容器存储层的无状态化。 当然, 运行时可以覆盖这个挂载设置。 比如:

        docker run -d -v mydata:/data xxxx

  • 在这行命令中, 就使用了 mydata 这个命名卷挂载到了 /data 这个位置, 替代了Dockerfile 中定义的匿名卷的挂载配置。

EXPOSE指令

1.介绍

  • 声明运行时容器提供服务端口, 这只是一个声明, 在运行时并不会因为这个声明应用就会开启这个端口的服务。
  • 在 Dockerfile 中写入这样的声明有两个好处, 一个是帮助镜像使用者理解这个镜像服务的守护端口, 以方便配置映射; 另一个用处则是在运行时使用随机端口映射时, 也就是 docker run -P时, 会自动随机映射 EXPOSE 的端口

2.语法

EXPOSE <port>[/ <protocol>] [<port>[/ <protocol>] ....EXPOSE <port>[/ <protocol>]
[<port>[/ <protocol>] ....
 

注:

  • 用于指定传输层协议,可为tcp或udp二者之一,默认为TCP协议
  • EXPOSE指令可一次指定多个端口,例如:EXPOSE 11211/udp 11211/tcp
     

3.示例

编写dockerfile文件

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
COPY index.html /data/web/html/
#ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
WORKDIR /usr/local/
ADD nginx-1.15.8.tar.gz ./src/
EXPOSE 80/tcp
 

使用build 制作镜像

[root@localhost test1]# docker build -t busyboxhttpd:v0.6 ./
 

基于此新建镜像运行容器,进行验证

[root@localhost ~]# docker run --name web1 -P --rm -it busyboxhttpd:v0.6
/bin/httpd -f -h /data/web/html
------- 另打开一个终端,验证httpd服务的80端口
[root@localhost ~]# docker inspect -f {{.NetworkSettings.IPAddress}} web1
172.17.0.2
[root@localhost ~]# curl 172.17.0.2:80
<h1>Busybox httpd server</h1>
[root@localhost ~]# docker port web1
80/tcp -> 0.0.0.0:32769
[root@localhost ~]# curl 127.0.0.1:32769
<h1>Busybox httpd server</h1>
注:就算dockerfile 中有EXPOSE 指令暴露端口,但是不是真正的暴露;需要在启动容器时,使用-P选项真正的暴露端口。
 

ENV指令

1.介绍

  • 用于为镜像定义所需的环境变量,并可被Dockerfile文件中位于其后的其它指令(如ENV、ADD、COPY等)所调用
  • 调用格式为$variable_ name 或 ${variable_ name}
     

2.格式

ENV <key>=<value> . .
注意:可以一次设置多个变量,每个变量为一个”="的键值对,如果包含空格,可以以反斜线
(\)进行转义,也可通过对其加引号进行标识;另外,反斜线也可用于续行;

3.示例

编写dockerfile文件

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
ENV DOC_ROOT=/data/web/html/ \
WEB_SERVER_PACKAGE="nginx-1.15.8"

COPY index.html ${DOC_ROOT}
#ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
WORKDIR /usr/local/
ADD ${WEB_SERVER_PACKAGE}.tar.gz ./src/
VOLUME /data/mysql
EXPOSE 8080:80/tcp
 

使用Dockerfile制作镜像

[root@localhost test1]# docker build -t busyboxhttpd:v0.7 ./

基于此新建镜像运行容器,进行验证

[root@localhost test1]# docker run --name web1 --rm -it busyboxhttpd:v0.7
printenv
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=59fa622cfa1f
TERM=xterm
DOC_ROOT=/data/web/html/
WEB_SERVER_PACKAGE=nginx-1.15.8
HOME=/root
--- 在启动容器时,使用docker run -e 设置修改变量
[root@localhost test1]# docker run --name web1 -e WEB_SERVER_PACKAGE=nginx-1.15.7
--rm -it busyboxhttpd:v0.7 printenv
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=08778b07399c
TERM=xterm
WEB_SERVER_PACKAGE=nginx-1.15.7
DOC_ROOT=/data/web/html/
HOME=/root
 

RUN指令

1.介绍

  • 用于指定docker build过程中运行的程序,其程序可以是任何命令。

2,语法:

        RUN <command>
        RUN ["<executable>", "<param1>", "<param2>"]

注:

  • 第一种格式中,通常是一个shell命令, 且以“/bin/sh -c”来运行它;
  • 第二种语法格式中的参数是一个JSON格式的数组,其中为要运行的命令的可执行文件,后面的为传递给命令的选项或参数;然而,此种格式指定的命令不会以“/bin/sh -c”来发起,因此常见的shell操作如变量替换以及通配符(?,*等)替换将不会进行;不过,如果要运行的命令依赖于此shell特性的话,可以将其替换为类似下面的格式:RUN ["/bin/bash", "-c", "", ""]
     

示例:

编写dockerfile文件:使用RUN 执行解压命令

FROM busybox:latest
MAINTAINER "Along <along@along.com>"
ENV DOC_ROOT=/data/web/html/ \
WEB_SERVER_PACKAGE="nginx-1.15.8.tar.gz"
COPY index.html ${DOC_ROOT}
COPY yum.repos.d /etc/yum.repos.d/
WORKDIR /usr/local/
ADD http://nginx.org/download/${WEB_SERVER_PACKAGE} ./src/
#ADD ${WEB_SERVER_PACKAGE} ./src/
VOLUME /data/mysql
EXPOSE 8080:80/tcp
RUN cd ./src && \
tar -xf ${WEB_SERVER_PACKAGE}.tar.gz

 

使用build 制作镜像

[root@localhost test1]# docker build -t busyboxhttpd:v0.8 ./

基于此新建镜像运行容器,进行验证:已经执行了解压命令

[root@localhost test1]# docker run --name web1 -P --rm -it busyboxhttpd:v0.7 ls
/usr/local/src
nginx-1.15.8
 

CMD指令

 1.介绍

  • 类似于RUN指令,CMD指令也可用于运行任何命令或应用程序,不过,二者的运行时间点不同
  • RUN指令运行于映像文件构建过程中,而CMD指令运行于基于Dockerfile构建出的新映像文件启动一个容器时
  • CMD指令的首要目的在于为启动的容器指定默认要运行的程序,且其运行结束后,容器也将终止;不过,CMD指定的命令可以被docker run的命令行选项所覆盖
  • 在Dockerfile中可以存在多个CMD指令,但仅最后一个会生效
     

2.语法

CMD <command> 或
CMD ["<executable>","<param1>","<param2>"] 或
CMD ["<param1>","<param2>"]
 

ENTRYPOINT指令

1.介绍

  • 类似CMD指令的功能,用于为容器指定默认运行程序,从而使得容器像是一个单独的可执行程序
  • 与CMD不同的是,由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给ENTRYPOINT指令指定的程序
  • 不过,docker run命令的 --entrypoint选项的参数可覆盖ENTRYPOINT指令指定的程序
  • 当指定了 ENTRYPOINT 后, CMD 的含义就发生了改变, 不再是直接的运行其命令, 而是将CMD的内容作为参数传给 ENTRYPOINT 指令, 换句话说实际执行时, 将变为: <ENTRYPOINT> "<CMD>"

3.语法

ENTRYPOINT <command>
ENTRYPOINT ["<executable>", "<param1>", "<param2>"]

注意:

  • docker run命令传入的命令参数会覆盖CMD指令的内容并且附加到ENTRYPOINT命令最后做为其参数使用
  • Dockerfile文件中也可以存在多个ENTRYPOINT指令,但仅有最后一个会生效
     

4.示例

编写dockerfile文件

FROM busybox
LABEL maintainer="Along <along@along.com>" app="httpd"
ENV WEB_DOC_ROOT="/data/web/html"
RUN mkdir -p ${WEB_DOC_ROOT} && \
echo "<h1>Busybox httpd server</h1>" > ${WEB_DOC_ROOT}/index.html
ENTRYPOINT /bin/httpd -f -h ${WEB_DOC_ROOT}
 

使用build 制作镜像

[root@localhost test2]# docker build -t busyboxhttpd:v1.2 ./

基于此新建镜像运行容器,进行验证

[root@localhost test2]# docker run --name web2 --rm busyboxhttpd:v1.2 ls /
发现不会执行ls / 这个命令;仍然执行的是ENTRYPOINT中设置的命令;与上面CMD 指令对比;
[root@localhost ~]# curl 172.17.0.2 #httpd服务仍然执行,没有被ls / 指令覆盖
<h1>Busybox httpd server</h1>

使用Dockerfile创建一个支持SSH服务的镜像

1.创建一个存放Dockerfil文件的工作目录

[root@cotenos ~]# mkdir -p /root/docker/sshd
[root@cotenos ~]# cd /root/docker/sshd/            # 切换到工作目录下   

2.在其中,创建Dockerfile文件与run.sh文件

[root@cotenos sshd]# touch Dockerfile run.sh

3.编辑run.sh脚本与authorized_keys文件

# run.sh脚本用于运行容器时,启动容器李的sshd服务

#!/bin/bash
/usr/sbin/sshd -D

# authorized_keys文件免密登录。在宿主主机上生成公钥,并将公钥复制进authorized_keys文件。

[root@cotenos sshd]# sshd-keygen -t rsa
[root@cotenos sshd]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2CyRnXHISKNC+L/YnwX+a9EPZkgJ3ypa9bPRFO2CZwCcK6OeyDH18J6nR6/a8tDBMrjot2xmFiLFvvLhMM7Ztxmj+pbMICGHPFqE63BYJcLOaPdc271oIM/5QWauaZOfmEdbQTnjsbDPhfNdiidxOfKloTsqplzUdLMWzi8ow1R92BR/p2uWyQYTpeXOA3bW+NvR/WOwPsr6JA6uORsS3YnEMFcXCX9rU2+Af4TZpNhdFbz7QKmalSA9lGvUmmxw7mzU+XCJHmO8s/kQjGpPhKlvl0sTAUk/+ke1gNXs2XhFtadFcQ3SzGoyT6YRkG/biU7/0w3F root@cotenos
[root@cotenos sshd]# cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

# 将~/.ssh/authorized_keys文件 复制到 /root/docker/sshd/下

[root@cotenos sshd]# cp /root/.ssh/authorized_keys .

4.编写Dockerfile文件

下面是Dockerfile的内容以及各部分的注释,可以上文中命令解释对比来理解创建镜像过程

[root@cotenos sshd]# vim Dockerfile 
#设置继承镜像,下面使用的是ubuntu的18.04版本
FROM ubuntu:18.04

# 提供作者的信息
MAINTAINER docker_user<user@docker.com>

# 更改ubuntu的源为国内的源
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list 
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse"  >> /etc/apt/sources.list

# 更新源并下载sshd服务 
RUN apt-get update && apt-get install -y openssh-server
 
# 创建运行服务所需要的目录
RUN mkdir -p /var/run/shhd
RUN mkdir -p /root/.ssh
 
# 取消远程登录的限制
RUN sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd

# 将宿主机产生的authorized.keys文件复制镜像的/root/.ssh/目录下
COPY authorized_keys /root/.ssh/authorized_keys

# 将run.sh脚本文件复制到根目录下,并配置执行权限
COPY run.sh /run.sh
RUN chmod 755 /run.sh

# 开放22端口
EXPOSE 22

# 设置启动sshd服务命令
CMD ["/run.sh"]

5.使用docker build命令来创建镜像

[root@cotenos sshd]# docker build -t sshd_v2:ubuntu .
 

#  -t, --tag list                Name and optionally a tag in the 'name:tag' format

# sshd_v2:ubuntu: 容器的名字

# .:当前目录

测试

后台运行容器

[root@cotenos sshd]# docker run -d -p 10022:22 sshd_v2:ubuntu

# -d:表示后台运行

# -p:表示映射端口

使用ssh远程连接容器

注意如果宿主主机中的/root/.ssh/目录下有known_hosts文件时,需要删除。

[root@cotenos .ssh]# ssh 192.168.112.135 -p 10022
The authenticity of host '[192.168.112.135]:10022 ([192.168.112.135]:10022)' can't be established.
ECDSA key fingerprint is SHA256:mCPIoXyflt8hksQaGDQHuak/569Oud38H/zNepBKD1A.
ECDSA key fingerprint is MD5:59:8b:f6:23:bf:93:0e:81:52:b9:97:e4:c4:40:35:6c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.112.135]:10022' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 3.10.0-1160.el7.x86_64 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@0f20940125bc:~# 
 文章来源地址https://www.toymoban.com/news/detail-428565.html

到了这里,关于Dockerfile制作容器--ssh容器,详细步骤与指令介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker容器学习:Dockerfile制作Web应用系统nginx镜像

    目录 编写Dockerfile 1.文件内容需求: 2.编写Dockerfile: 3.开始构建镜像  4.现在我们运行一个容器,查看我们的网页是否可访问 推送镜像到私有仓库 1.把要上传的镜像打上合适的标签 2.登录harbor仓库 3.上传镜像 1.文件内容需求: 基于centos基础镜像。 指定作者信息。 安装nginx服

    2024年02月11日
    浏览(80)
  • 【Docker】利用Dockerfile制作个人的镜像文件详细讲解

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介: 热爱跑步的恒川 ,致力于

    2024年02月11日
    浏览(48)
  • 【Docker】Docker容器数据卷、容器卷之间的继承和DockerFIle的详细讲解

    🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:C++STL,感兴趣的小伙伴可以看看。 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️万物从心起,心动则万物动🏄

    2024年02月14日
    浏览(44)
  • 在Linux配置Git SSH的详细步骤;git配置ssh详细教程;

    在Linux或Mac OS上配置Git SSH的详细步骤如下: 1.打开终端,并输入以下命令检查是否已经在Linux下安装git 2.如果已经安装,则可以跳过此步骤。如果没有安装,请用以下命令进行安装git(推荐在Linux下的家目录下进行安装) 3.获取git配置ssh步骤如下: 4.如果不存在,请用以下命令生

    2024年02月07日
    浏览(87)
  • git生成ssh密钥详细步骤

    首先右键点击电脑桌面,点击“git bash here”,打开git命令窗口 如果git用户名和邮箱等已经完成配置,则跳过此步骤,直接操作第3条;假如没有配置,继续如下操作: (1)、在命令窗口配置用户,输入命令:git config --global user.name \\\"blalalala\\\"。其中” blalalala”是你自己的用户名;

    2023年04月21日
    浏览(80)
  • git生成ssh密钥详细步骤 git如何生成ssh密钥

    首先右键点击电脑桌面,点击选择\\\"Git Bash Here\\\",打开git命令窗口; 2. 在git命令窗口配置用户,输入命令:git config --global user.name “blkj”。其中“blkj”是你自己要填的用户名; 3. 接着进行邮箱配置,输入命令:git config --global user.email “blkj@boranet.com.cn”。\\\"blkj@boranet.com.cn\\\"就是填

    2024年02月11日
    浏览(61)
  • 配置SSH公钥免密码认证的详细步骤

    当我们通过SSH远程登录到服务器时,通常需要输入用户名和密码进行身份验证。然而,为了提高安全性并方便登录,我们可以配置SSH服务器,使用公钥免密码认证的方式进行登录。本文将详细介绍如何配置SSH公钥免密码认证的流程。 以下是配置SSH公钥免密码认证的详细步骤:

    2024年02月05日
    浏览(38)
  • [AD19] 原理图库制作详细步骤

    本文以博世家的BMI088为例,介绍一下AD19中绘制原理图库的详细步骤。 最终可以得到一个如下的元件~ 众所周知AD的库通常需要绘图者自己想办法解决的。 本文会详细介绍如何自己绘制原理图库。 但其实除了自己绘制,还有一种更快更便捷的方式,就是从嘉立创导出需要的元

    2024年02月02日
    浏览(36)
  • 制作鲜花商城小程序的详细步骤

    如果你是一个新手商家,想要进入鲜花团购市场,但是不知道如何制作一个小程序商城,那么这篇文章就是为你准备的。以下是制作鲜花团购小程序商城的详细步骤: 1. 登录乔拓云平台后台,进入商城管理页面 首先,你需要在乔拓云平台上注册一个账号,然后登录后台管理

    2024年02月11日
    浏览(51)
  • 容器编排学习(二)镜像制作和私有仓库介绍

    commit的局限 很容易制作简单的镜像,但碰到复杂的情况就十分不方便例如碰到下面的情况 需要设置默认的启动命令 需要设置环境变量 需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式 编写类似脚本的 Dockerfile 文件,通

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包