This commit is contained in:
2025-05-19 13:26:04 +08:00
parent 854219f7a0
commit 915e4b8e69
5 changed files with 53 additions and 131 deletions
+36 -36
View File
@@ -27,7 +27,7 @@ CentOS占CPU Docker CPU引擎占用低
```shell
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 另一种方式
# 另一种方式
curl -sSL https://get.daocloud.io/docker | sh
# 如上述两种方式都不行
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
@@ -49,7 +49,7 @@ dnf list docker-ce --showduplicates | sort -r
# 安装Docker CE
dnf install docker-ce-3:24.0.7-1.el9 -y
# 镜像源配置
vim /etc/docker/daemon.json
vim /etc/docker/daemon.json
```
## Ubuntu
@@ -99,7 +99,7 @@ permission denied while trying to connect to the Docker daemon socket at unix://
```bash
cat /etc/group | grep docker
docker:x:988:
```
@@ -180,7 +180,7 @@ sed -e 's/"//g' -e "s/name:/$1:/g" -e "s/{count:/$1总版本数-/"
docker-tags脚本编辑好之后,需要通过chmod修改文件权限才可以执行。在权限修改完成之后,就可以使用docker-tags脚本来查询相关镜像的最近版本信息了。
```shell
chmod 777 docker-tags
chmod 777 docker-tags
./docker-tags ubuntu
```
@@ -189,7 +189,7 @@ chmod 777 docker-tags
```shell
# 第一步:新建或编辑daemon.json
vim /etc/docker/daemon.json
# 第二步:daemon.json中编辑如下
{
"registry-mirrors": [
@@ -204,10 +204,10 @@ vim /etc/docker/daemon.json
"https://docker.xiaogenban1993.com"
]
}
# 第三步:重启docker
systemctl restart docker.service
# 第四步:执行docker info查看是否修改成功
docker info
@@ -259,7 +259,7 @@ docker inspect <IMAGE ID>
### 运行容器
```shell
# 第一个8080是外部海豚上的 第二个8080是内部集装箱上的
# 第一个8080是外部海豚上的 第二个8080是内部集装箱上的
docker run -p 8080:8080
```
@@ -331,7 +331,7 @@ docker inspect <container id>
```shell
docker pull hello-world
docker pull nginx
docker save -o images.tar nginx hello-world
docker save -o images.tar nginx hello-world
ll images.tar
```
@@ -343,7 +343,7 @@ ll images.tar
```shell
docker load -i images.tar
docker images
docker images
```
## Docker 容器快照的导出和导入
@@ -458,7 +458,7 @@ docker start <container id>
修改线上容器--restart参数值
```shell
docker update --restart=no [容器名]
docker update --restart=no [容器名]
docker update --restart=always [容器名]
docker update --restart=on-failure:3 [容器名]
```
@@ -570,7 +570,7 @@ Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一
docker build -t nginx:v3 .
```
![img](F:\source\repos\XiaodaBlogSource\source\_posts\Docker\dockerfile2.png)
![img](./Docker/dockerfile2.png)
### 上下文路径
@@ -590,26 +590,26 @@ docker build -t nginx:v3 .
### 指令详解
| Dockerfile 指令 | 说明 |
| --------------- | ------------------------------------------------------------ |
| FROM | 指定基础镜像,用于后续的指令构建。 |
| MAINTAINER | 指定Dockerfile的作者/维护者。(已启用,推荐使用LABEL指令) |
| LABEL | 添加镜像的元数据,使用键值对的形式。 |
| RUN | 在构建过程中在镜像中执行命令。 |
| CMD | 指定容器创建时的默认命令。(可以被覆盖) |
| ENTRYPOINT | 设置容器创建时的主要命令。(不可被覆盖) |
| EXPOSE | 声明容器运行时监听的特定网络端口。 |
| ENV | 在容器内部设置环境变量。 |
| ADD | 将文件、目录或远程URL复制到镜像中。 |
| COPY | 将文件或目录复制到镜像中。 |
| VOLUME | 为容器创建挂载点或声明卷。 |
| WORKDIR | 设置后续指令的工作目录。 |
| USER | 指定后续指令的用户上下文。 |
| Dockerfile 指令 | 说明 |
| --------------- | ------------------------------------------------------------------ |
| FROM | 指定基础镜像,用于后续的指令构建。 |
| MAINTAINER | 指定Dockerfile的作者/维护者。(已启用,推荐使用LABEL指令) |
| LABEL | 添加镜像的元数据,使用键值对的形式。 |
| RUN | 在构建过程中在镜像中执行命令。 |
| CMD | 指定容器创建时的默认命令。(可以被覆盖) |
| ENTRYPOINT | 设置容器创建时的主要命令。(不可被覆盖) |
| EXPOSE | 声明容器运行时监听的特定网络端口。 |
| ENV | 在容器内部设置环境变量。 |
| ADD | 将文件、目录或远程URL复制到镜像中。 |
| COPY | 将文件或目录复制到镜像中。 |
| VOLUME | 为容器创建挂载点或声明卷。 |
| WORKDIR | 设置后续指令的工作目录。 |
| USER | 指定后续指令的用户上下文。 |
| ARG | 定义在构建过程中传递给构建器的变量,可使用"docker build"命令设置。 |
| ONBUILD | 当该镜像被用作另一个构建过程的基础时,添加触发器。 |
| STOPSIGNAL | 设置发送给容器以退出的系统调用信号。 |
| HEALTHCHECK | 定义周期性检查容器健康状态的命令。 |
| SHELL | 覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT。 |
| ONBUILD | 当该镜像被用作另一个构建过程的基础时,添加触发器。 |
| STOPSIGNAL | 设置发送给容器以退出的系统调用信号。 |
| HEALTHCHECK | 定义周期性检查容器健康状态的命令。 |
| SHELL | 覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT。 |
#### COPY
@@ -847,7 +847,7 @@ redis-server /usr/local/etc/redis/redis.conf
# 如报错
mkdir -p /usr/redis/bin
# 测试连接
redis-cli -a <master-password>
redis-cli -a <master-password>
```
redis-slave1
@@ -1049,7 +1049,7 @@ docker run \
```shell
mkdir -p /usr/local/docker/mysql57
# 宿主机创建配置文件目录映射到容器
# 宿主机创建配置文件目录映射到容器
mkdir -p /usr/local/docker/mysql57/conf #(需要在此目录下创建"conf.d"、"mysql.conf.d"两个目录)
mkdir -p /usr/local/docker/mysql57/conf/conf.d # (建议在此目录创建my.cnf文件并进行相关MySQL配置)
mkdir -p /usr/local/docker/mysql57/conf/mysql.conf.d
@@ -1078,14 +1078,14 @@ mysql -uroot -p
# 查看 /etc/mysql/my.cnf 文件权限
ls -l /etc/mysql/my.cnf
# 如果看到以下输出
# -rwxrwxrwx 1 root root 1234 Jan 1 00:00 /etc/mysql/my.cnf
# -rwxrwxrwx 1 root root 1234 Jan 1 00:00 /etc/mysql/my.cnf
# 那么说明该配置文件确实是对所有人开放了读、写和执行权利。
# 接着我们需要修改这个文件的权限,使其只有root用户有读写权,其他用户只有读的权限:
chmod 644 /etc/mysql/my.cnf
# 再次使用 ls -l命令查看'/etc/mysql/my.cnf'的权限
ls -l /etc/mysql/my.cnf
# 看到以下输出,则修改成功
# -rw-r--r-- 1 root root 1234 Jan 1 00:00 /etc/mysql/my.cnf
# -rw-r--r-- 1 root root 1234 Jan 1 00:00 /etc/mysql/my.cnf
```
## Docker 安装 Redis 7
@@ -1439,7 +1439,7 @@ docker run -p 9000:9000 -p 9001:9001 \
-v /usr/local/docker/minio/config:/root/.minio \
minio/minio server \
/data \
--console-address ":9001"
--console-address ":9001"
```
+5
View File
@@ -0,0 +1,5 @@
---
title: Pug
date: 2025-05-19 13:20:34
tags:
---