前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >3,docker基础之---Commit+Dockerfile制作

3,docker基础之---Commit+Dockerfile制作

作者头像
冷影玺
发布于 2023-10-11 11:40:45
发布于 2023-10-11 11:40:45
54500
代码可运行
举报
文章被收录于专栏:冷影玺冷影玺
运行总次数:0
代码可运行

docker目前镜像的制作两种方法:

1,基于docker Commit制作镜像

2,基于dockerfile制作镜像,Dockerfile 为主流的制作方式

如果不制作镜像删除容器之后则里面配置的文件也随之删除:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker images  查看本地
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       7         eeb6ee3f44bd   16 months ago   204MB


[root@docker ~]# docker run -it centos:7 /bin/bash  进入容器


[root@ab18198ba0a3 /]# cd /home/
  
  
[root@ab18198ba0a3 home]# mkdir xdclass  创建一个目录


[root@ab18198ba0a3 home]# yum install net-tools -y  安装执行ifconfig查看ip


[root@2b86fd5ea318 home]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 3835  bytes 27628549 (26.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3315  bytes 182288 (178.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  
[root@2b86fd5ea318 home]#
[root@docker ~]# docker ps  查看运行
CONTAINER ID   IMAGE      COMMAND       CREATED         STATUS         PORTS     NAMES
7d4c97ddb0ba   centos:7   "/bin/bash"   3 minutes ago   Up 2 minutes             busy_banzai


[root@docker ~]# docker restart 7d4c97ddb0ba  进行重启
7d4c97ddb0ba
[root@docker ~]#


[root@docker ~]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED         STATUS         PORTS     NAMES
7d4c97ddb0ba   centos:7   "/bin/bash"   6 minutes ago   Up 3 minutes             busy_banzai
[root@docker ~]#
[root@docker ~]#


[root@docker ~]# docker rm -f 7d4c97ddb0ba   删除docker
7d4c97ddb0ba


[root@docker ~]# docker ps  查看
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

#删除之后重新拉取一个新的则无

1,dockerCommit制作镜像

开启容器创建文档安装net-tools:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker run -itd centos:7
  
  
[root@docker ~]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED          STATUS          PORTS     NAMES
cc5a01178967   centos:7   "/bin/bash"   33 seconds ago   Up 32 seconds             vigorous_pike


[root@docker ~]# docker exec -it cc5a01178967 /bin/bash
[root@cc5a01178967 /]#
[root@cc5a01178967 /]#
[root@cc5a01178967 /]# cd /home/
[root@cc5a01178967 home]# mkdir xdclass
[root@cc5a01178967 home]# yum install net-tools -y
[root@cc5a01178967 home]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 2210  bytes 27541329 (26.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2024  bytes 112678 (110.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
进行构建Commint:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker commit -a 'lyx' -m 'mkdir /home/xdclass net-tools' cc5a01178967 mycentos:v1 

sha256:64e6184ab6d4aeeb3c1c1ade6892cfdad76c630efbaec28d2ea800ad9788abfe
commit代表制作成镜像
-a属性表示制作人我写的lyx
-m属性表示这个文件大致内容我则用来保存的是安装net-tools
输入ID
mycentos命名和v1版本


[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mycentos     v1        64e6184ab6d4   3 minutes ago   403MB  #这个则是咱们制作成功的
centos       7         eeb6ee3f44bd   16 months ago   204MB
[root@docker ~]#


[root@docker ~]# docker ps  查看运行
CONTAINER ID   IMAGE      COMMAND       CREATED          STATUS          PORTS     NAMES
cc5a01178967   centos:7   "/bin/bash"   11 minutes ago   Up 11 minutes             vigorous_pike


[root@docker ~]# docker rm -f cc5a01178967  进行删除
cc5a01178967


[root@docker ~]# docker ps  查看运行无
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES


[root@docker ~]# docker images  查看制作成功的mycentos
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mycentos     v1        64e6184ab6d4   5 minutes ago   403MB
centos       7         eeb6ee3f44bd   16 months ago   204MB


[root@docker ~]# docker run -itd mycentos:v1 /bin/bash  进行启动容器
a893d4021f98b4c2294d313b5d5285ad109de173295f6106d5db0de624626f63


[root@docker ~]# docker ps  查看运行
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS         PORTS     NAMES
a893d4021f98   mycentos:v1   "/bin/bash"   6 seconds ago   Up 6 seconds             magical_gould
[root@docker ~]# docker exec -it a893d4021f98 /bin/bash  进入容器


[root@a893d4021f98 /]# cd /home/  进入home目录

[root@a893d4021f98 home]# ls  查看之前创建的xdclass
xdclass
[root@a893d4021f98 home]# ifconfig 查看网卡是否运行成功
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 8  bytes 656 (656.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@a893d4021f98 home]#

实验:Docker commit构建带sshd服务自定义镜像

查看本地镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       7         eeb6ee3f44bd   17 months ago   204MB
[root@docker ~]#

利用centos镜像建立容器,并进入该容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker run -dit --name my-centos1 centos:7
b2cb61f3b58d74c36d753aa907c4e6a1569edd1ade3944ba10b9e9761b8a9556
[root@docker ~]#
[root@docker ~]# docker exec -it my-centos1 /bin/bash
[root@b2cb61f3b58d /]#

​net-tools,openssh-server:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# yum -y install openssh-server net-tools

​创建ssh所需的目录,并在根目录下创建sshd启动脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# mkdir -pv /var/run/sshd
mkdir: created directory '/var/run/sshd'
[root@b2cb61f3b58d /]#
[root@b2cb61f3b58d /]#
[root@b2cb61f3b58d /]# echo "/usr/sbin/sshd -D" > /auto_sshd.sh
[root@b2cb61f3b58d /]# cat /auto_sshd.sh
/usr/sbin/sshd -D
[root@b2cb61f3b58d /]# chmod +x /auto_sshd.sh
[root@b2cb61f3b58d /]#

​修改容器内root的账户密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# echo "root:lyx" | chpasswd
[root@b2cb61f3b58d /]# 设置密码为lyx

​​生成ssh主机密钥文件:

1,生成rsa_key

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
SHA256:Hsivc33BCDDF64qWk7K87gWe+BrBUOD75Dlb+WLPeTY root@b2cb61f3b58d
The key's randomart image is:
+---[RSA 2048]----+
|...    o.        |
|..    o .        |
|..     o .       |
|o .  . .o        |
|.o..  o.S. o     |
| ++o. .o... o    |
|o o=.* .o.   .   |
| +..Xo=.oE. .    |
|.+B*..+Bo ..     |
+----[SHA256]-----+
[root@b2cb61f3b58d /]#

2,​​生成ecdsa_key

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
Generating public/private ecdsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key.
Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub.
The key fingerprint is:
SHA256:0HFmAoFJNpWUJ1fcX7rBOE/ERiySHsN6xxfNAxnqs00 root@b2cb61f3b58d
The key's randomart image is:
+---[ECDSA 256]---+
|   .+===o+=o *=o |
|   .o.+.o*B +.*.+|
|      .+.o * B +.|
|       .. + = B  |
|        S. + E o |
|            = o  |
|           . .   |
|                 |
|                 |
+----[SHA256]-----+
[root@b2cb61f3b58d /]#

3,生成ed25519_key

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
The key fingerprint is:
SHA256:u2MOmiR0BSfUmfGYGtyuRgsVGSFWx7SGB+i66zJj93E root@b2cb61f3b58d
The key's randomart image is:
+--[ED25519 256]--+
|  o+XB=+         |
| ..o.X==         |
| .  = O .        |
|  .. B           |
| .o + . S        |
|.. + o   .       |
| .. =..E.        |
|=. = oo.o.       |
|==. +. oo.       |
+----[SHA256]-----+
[root@b2cb61f3b58d /]#

退出容器,并生成新的Docker镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@b2cb61f3b58d /]# exit
exit
[root@docker ~]# docker commit my-centos1 centos_sshd:7.0
sha256:6cfc9c28a7774889f6987cfca6d28a8b8153b3d4265bae40c4ecfe8333c09d00
[root@docker ~]#
[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
centos_sshd   7.0       6cfc9c28a777   23 seconds ago   405MB
centos        7         eeb6ee3f44bd   17 months ago    204MB
[root@docker ~]#

​启动新的容器,并查看容器是否构建:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker run -dit --name centos_7.0-1 centos_sshd:7.0
0ec5851688175a9a06a3596513cef8ee1f255455f2a5b7806971dedace852163
[root@docker ~]# docker ps
CONTAINER ID   IMAGE             COMMAND       CREATED          STATUS          PORTS     NAMES
0ec585168817   centos_sshd:7.0   "/bin/bash"   6 seconds ago    Up 6 seconds              centos_7.0-1
b2cb61f3b58d   centos:7          "/bin/bash"   10 minutes ago   Up 10 minutes             my-centos1
[root@docker ~]#

进入容器,查看IP地址,并运行脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@0ec585168817 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.3  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:03  txqueuelen 0  (Ethernet)
        RX packets 8  bytes 656 (656.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@0ec585168817 /]# ./auto_sshd.sh

测试ssh:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# ssh root@172.17.0.3
The authenticity of host '172.17.0.3 (172.17.0.3)' can't be established.
ECDSA key fingerprint is SHA256:0HFmAoFJNpWUJ1fcX7rBOE/ERiySHsN6xxfNAxnqs00.
ECDSA key fingerprint is MD5:21:ce:10:d6:f3:53:c4:16:1d:76:cd:05:4e:f9:22:54.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.17.0.3' (ECDSA) to the list of known hosts.
root@172.17.0.3's password:  # 输入密码lyx
[root@0ec585168817 ~]#  登录成功

2,dockerfile构建镜像实战

dockerfile文档内容如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# this is a dockerfile
FROM centos:7
MAINTAINER LYX 123456@qq.com
RUN echo '正在构建镜像'
WORKDIR /home/xdclass
COPY 123.txt /home/xdclass
RUN yum install net-tools -y
文档详解:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  注释
FROM    基于哪个镜像
MAINTAINER   注明含义
COPY  复制
ADD  复制文件到容器里面而copy只是单纯复制
而add如果复制一个压缩包进入容器并且解压
WORKDIR   指定一个路径作为工作目录如果路径不存在自定创建
ENV  环境变量
EXPOSE   暴露容器端口给宿主机
RUN  执行后面的命令
ENTRYPOINT  输出在容器启动之后  如写多条只执行最后一条
CMD    输出在容器启动之后   在末尾  可以被覆盖
如执行:docker run mycentos:v1
命令格式:shell命令格式:RUN yum install net-tools -y
       exec命令格式:['RUN','yum','install','net-tools','-y']
进行构建dockerfile:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker images   查看原有镜像
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
mycentos     v1        64e6184ab6d4   28 minutes ago   403MB
centos       7         eeb6ee3f44bd   16 months ago    204MB


[root@docker ~]# vi dockerfile
# this is a dockerfile
FROM centos:7
MAINTAINER LYX 123456@qq.com
RUN echo '正在构建镜像'
WORKDIR /home/xdclass
COPY 123.txt /home/xdclass
RUN yum install net-tools -y
#wq 保存退出


[root@docker ~]# docker build -t mycentos:v2 .      那个点.代表当前路径
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker images  进行查看
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
mycentos     v2        380079b451ef   5 minutes ago    403MB  #制作完成
mycentos     v1        64e6184ab6d4   38 minutes ago   403MB
centos       7         eeb6ee3f44bd   16 months ago    204MB

[root@docker ~]# docker run -it mycentos:v2 /bin/bash  进入v2容器


[root@b3bced1b5262 xdclass]# ls  查看是否把123.txt文档拷贝进去
123.txt  # 已经拷贝


[root@b3bced1b5262 xdclass]# ifconfig   查看net-tools是否执行成功
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 8  bytes 656 (656.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@b3bced1b5262 xdclass]# exit  退出
exit
[root@docker ~]#

实验:Dockerfile构建带sshd服务的自定义镜像

建立/user/sshd目录,并切换到该目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# mkdir -p /user/sshd
[root@docker ~]# cd /user/sshd
[root@docker sshd]#

编写Dockerfile文件,注意文件的首字母必须大写。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker sshd]# cat Dockerfile
FROM centos:7
MAINTAINER lyx lyx@qq.com
RUN yum -y install openssh-server openssh-clients net-tools
RUN echo 'root:lyx' | chpasswd
RUN /usr/sbin/sshd-keygen
EXPOSE 22
CMD /usr/sbin/sshd -D
[root@docker sshd]#

利用docker build命令构建自定义镜像,镜像名为sshd:v1.0。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker sshd]# docker build -t sshd:v1.0 .

启动容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker sshd]# docker run -dit --name test_sshd sshd:v1.0
3d0879e584d9b55f23db1f6e707e96a489341f8af4f96e5f6c72b57f3bbeaa01
[root@docker sshd]#
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE       COMMAND                   CREATED          STATUS          PORTS     NAMES
3d0879e584d9   sshd:v1.0   "/bin/sh -c '/usr/sb…"   12 minutes ago   Up 12 minutes   22/tcp    test_sshd
[root@docker ~]#

从docker ps –a命令的显示现象可以看到
容器名为test_sshd的容器状态为UP状态,表示容器创建成功,并且正常运行。

进入test_sshd容器,查看IP地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker sshd]# docker exec -it test_sshd /bin/bash
[root@3d0879e584d9 /]#
[root@3d0879e584d9 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 8  bytes 656 (656.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@3d0879e584d9 /]#容器的IP地址为172.17.0.3

进行测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# ssh 172.17.0.2
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:iVVPtrCVsq6ae2un0QboTjQgKMvQ0eLrstgar3UI9Z0.
ECDSA key fingerprint is MD5:ae:a7:36:47:f7:dd:64:9a:b2:a6:01:3d:42:ce:54:55.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
root@172.17.0.2's password: # 输出密码lyx
[root@3d0879e584d9 ~]# 登录成功

镜像分层结构解析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker rmi mycentos:v2  删除v2
Untagged: mycentos:v2
Deleted: sha256:380079b451ef871139544588e61e119d552bdc09ab75d4f67059de0939240be8


[root@docker ~]# docker images  查看本地镜像
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       7         eeb6ee3f44bd   16 months ago   204MB


[root@docker ~]# docker history mycentos:v1
IMAGE          CREATED         CREATED BY                                       SIZE      COMMENT
401a8637ecf7   2 minutes ago   RUN /bin/sh -c yum install net-tools -y # bu…   199MB     buildkit.dockerfile.v0
<missing>      3 minutes ago   COPY 123.txt /home/xdclass # buildkit            4B        buildkit.dockerfile.v0
<missing>      3 minutes ago   WORKDIR /home/xdclass                            0B        buildkit.dockerfile.v0
<missing>      3 minutes ago   RUN /bin/sh -c echo "正在构建镜像!!!" # buil…   0B        buildkit.dockerfile.v0
<missing>      3 minutes ago   MAINTAINER XD 123456@qq.com                      0B        buildkit.dockerfile.v0
<missing>      16 months ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]             0B
<missing>      16 months ago   /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B
<missing>      16 months ago   /bin/sh -c #(nop) ADD file:b3ebbe8bd304723d4…   204MB
[root@docker ~]#
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
李老师,ios进入后台采集播放没有问题,但是打开QQ音乐或者抖音,后台任务就停止了,怎么实现这个后台任务的保活?
李老师,ios进入后台采集播放没有问题,但是打开QQ音乐或者抖音,后台任务就停止了,怎么实现这个后台任务的保活?
11点赞举报
你好,能给个Demo吗?
你好,能给个Demo吗?
回复回复点赞举报
推荐阅读
MySQL_数据库备份与还原
eg1:mysqldump -uroot -p0295 test2 > ../test2.bak.sql备份到了父目录
用户10551528
2024/07/20
3550
使用宝塔面板如何自动备份数据库和网站代码
基础操作是:宝塔自带的定时任务当中就有备份数据库和网站代码啊 ? 然后就直接选择了备份到服务器磁盘 把备份文件放在服务器上也是不太保险,万一那一天突然宕机,服务器磁盘坏掉了,那么应该如何存储备份文件?
沈唁
2019/12/09
3.6K0
使用宝塔面板如何自动备份数据库和网站代码
通过简单的设置,可以让mysql数据库备份自动化
通过简单的设置,可以让mysql数据库备份自动化.减少维护的工作量! 一、对于Windows主机 ============== 假想环境: MySQL 安装位置:C:MySQL 论坛数据库名称为:bbs MySQL root 密码:123456 数据库备份目的地:D:db_backup @echo off C:MySQLinmysqladmin -u root –password=123456 shutdown C:MySQLinmysqldump –opt -u root –password=1234
企鹅号小编
2018/03/05
1.7K0
(7) MySQL数据库备份详解
比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复
用户1214487
2019/05/25
1.1K0
简单使用 crontab 定时备份 MySQL 数据库
在用户目录,例如 /root 下创建.my.cnf配置文件,并填写 MySQL 的用户名和密码.
用户8851537
2021/07/20
1.4K0
MySQL 数据库备份(完全备份与恢复)
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色 数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段 一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源
全栈程序员站长
2022/08/28
19.2K0
MySQL 数据库备份(完全备份与恢复)
如何在宝塔面板里设置脚本定时恢复数据库
        如果你想建立一个演示网站,用于演示一个网页程序。这个网页程序是依靠数据库的动态程序,如果你想让它二十分钟或者一天还原一次,那么只需要将数据库使用脚本定时恢复就行了。
独元殇
2023/03/14
1K0
Windows环境下进行mysql数据库备份
(创建一个txt文件,写入批处理脚本,再将文件的后缀改为.bat变为批处理脚本文件)
用户1685462
2021/08/05
2.3K0
【愚公系列】《网络安全应急管理与技术实践》 026-网络安全应急技术与实践(数据库层-MySQL数据库安全配置)
MySQL 默认安装的root 用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码至少8位,是由字母、数字和符号组成的不规律密码。使用 MySQL自带的命令 MySQLadmin 修改root密码,同时也可以登录数据库,修改数据库 MySQL下的user 表的字段内容,修改方法如下。
愚公搬代码
2024/09/24
1640
在Windows环境下使用MySQL:自动定时备份
forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"
用户1685462
2021/07/26
1.8K0
Mysql数据库备份(一)——数据库备份和表备份[通俗易懂]
Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的
全栈程序员站长
2022/07/21
21.6K0
Mysql数据库备份(一)——数据库备份和表备份[通俗易懂]
数据库被入侵 如何做数据库的安全加固与防护
某一网站平台的客户数据库被黑客篡改了,篡改了会员的银行卡信息以及金额,包括注单也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现会员的数据有异常,觉得不得劲,查询该会员账号的所有投注信息发现了问题。数据库被攻击了,随即通过朋友介绍找到我们SINE安全公司,寻求安全解决,防止数据库被攻击,被篡改。
技术分享达人
2019/06/28
2.2K0
数据库被入侵 如何做数据库的安全加固与防护
SAP HANA数据库备份失败解决办法
SQL Message: backup could not be completed: [2000004] Cannot open file ""<root>/.COMPLETE_DATA_BACKUP_20220721_databackup_0_1" ((closed,mode= W, access= rw-r-----, flags= DIRECT|TRUNCATE|MULTI_WRITERS|UNALIGNED_SIZE), factory= (root= "/hana_export/HDB_Backup/" Permission denied
SAP梦心
2022/07/23
6130
手把手自动化MySQL数据库备份
在本文中,我们将分享如何为您的数据库创建自动的远程数据库备份。 第1步 通过SSH登录到数据库服务器。您也可以从终端上进行操作。 ssh you-ssh-user@your-server-ip 第2步 在当前用户的主目录中创建一个Shell脚本文件: touch ~/mysql-backup.sh 使用vim打开Shell脚本: vim ~/mysql-backup.sh 将以下内容复制并粘贴到 〜/ mysql-backup.sh 中: #!/bin/bash export PATH=/bin:/usr
Lemon黄
2020/07/02
4250
MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,需要跳过密码认证登录到数据库后,先将root密码设置为空,然后才可以登录到数据库,修改root密码。
小手冰凉
2020/05/19
1.4K0
Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复
搭建一个网站时,后台的应用程序会连接mysql,连接mysql就需要一个用户密码,但是不能让它使用root用户,root用户的权限太高不安全,所以需要创建一个用户,并授予这个用户一些权限,你可以具体的授予这些用户的某些权限,让它能操作什么不能操作什么。
端碗吹水
2020/09/23
2.5K0
Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复
Linux系统crontab备份数据库执行不成功?可能是百分号%在作怪!
之前博客分享过一篇《Linux/vps 本地七天循环备份和七牛远程备份脚本》,我自己也一直在用。某天检查备份的时候,突然发现数据库的备份的压缩包是空的! 看了下 crontab 的日志,发现有如下错误: Access denied for user 'dbuser'@'localhost' to database 'db' when using LOCK TABLES 原来,我在计划任务中备份数据库时,用的是普通用户,在凌晨三点备份的时候,可能碰巧网站正在被访问(比如蜘蛛抓取)。由于存在数据查询,所以 my
张戈
2018/03/23
1.2K0
如何使用CentOS 7上的Percona XtraBackup创建MySQL数据库的热备份
使用活动数据库系统时遇到的一个很常见的挑战是执行热备份,即在不停止数据库服务或将其设置为只读的情况下创建备份。简单地复制活动数据库的数据文件通常会导致内部不一致的数据库副本,即它将无法使用或者将在复制期间丢失。另一方面,停止数据库以进行计划备份会使应用程序的数据库相关部分变为不可用。Percona XtraBackup是一个开源实用程序,可用于解决此问题,并为运行MySQL,MariaDB和Percona Server数据库(也称为热备份)创建一致的完整备份或增量备份。
大瓜皮
2018/09/28
2.1K0
MySQL数据库备份和恢复
数据库备份 数据库复制不能取代备份的作用 备份分类: 全量备份:整个数据库的完整备份 增量备份:在上一次备份基础上,对更改数据进行备份。mysqldump不支持这种 逻辑备份:结果为SQL语句,适用于所有存储引擎 物理备份:对数据库目录的靠背,对于内存表只备份结构 备份内容: 备份方式: mysqldump全备介绍 mysqldump备份 mysqldump database [tables] mysqldump --database DB1 [DB2] mysqldump --all-databases
linxinzhe
2018/07/25
6.8K0
Navicat for MySQL定时备份数据库及数据恢复
在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述Navicat for MySQL定时备份数据库和数据恢复等功能,同时可以定时播放电影等设置,希望对您有所帮助,如果文章中存在错误或不足之处,还请海涵~
星哥玩云
2022/08/13
1.6K0
Navicat for MySQL定时备份数据库及数据恢复
推荐阅读
相关推荐
MySQL_数据库备份与还原
更多 >
LV.2
文拓网络研发主管
目录
  • 如果不制作镜像删除容器之后则里面配置的文件也随之删除:
  • 1,dockerCommit制作镜像
    • 开启容器创建文档安装net-tools:
    • 进行构建Commint:
  • 实验:Docker commit构建带sshd服务自定义镜像
  • 2,dockerfile构建镜像实战
    • dockerfile文档内容如下:
    • 文档详解:
    • 进行构建dockerfile:
  • 实验:Dockerfile构建带sshd服务的自定义镜像
  • 镜像分层结构解析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档