diff --git a/source/_posts/Docker.md b/source/_posts/Docker.md index 116c087..fb58ba7 100644 --- a/source/_posts/Docker.md +++ b/source/_posts/Docker.md @@ -99,6 +99,48 @@ chmod 777 docker-tags ./docker-tags ubuntu ``` +## Docker 修改镜像源 + +```shell +# 第一步:新建或编辑daemon.json +vim /etc/docker/daemon.json + +# 第二步:daemon.json中编辑如下 +{ + "registry-mirrors": [ + "https://docker.m.daocloud.io", + "https://docker.imgdb.de", + "https://docker-0.unsee.tech", + "https://docker.hlmirror.com", + "https://docker.1ms.run", + "https://cjie.eu.org", + "https://func.ink", + "https://lispy.org", + "https://docker.xiaogenban1993.com" + ] +} + +# 第三步:重启docker +systemctl restart docker.service + +# 第四步:执行docker info查看是否修改成功 +docker info + +# Registry Mirrors: +# https://docker.m.daocloud.io/ +# https://docker.imgdb.de/ +# https://docker-0.unsee.tech/ +# https://docker.hlmirror.com/ +# https://docker.1ms.run/ +# https://cjie.eu.org/ +# https://func.ink/ +# https://lispy.org/ +# https://docker.xiaogenban1993.com/ + +``` + + + ## Docker 镜像操作 ### 安装镜像 @@ -238,6 +280,44 @@ ll python-snapshot.tar docker import python-snapshot.tar python-snapshot:latest ``` +## Docker 容器迁移 + +### 导出容器镜像 + +A 服务器上 + +```shell +docker commit container_name new_image_name +docker save new_image_name > image.tar +``` + +### 导入容器镜像 + +迁移到 B 服务器上 + +```shell +docker load < image.tar +``` + +### **检查容器[数据卷](https://zhida.zhihu.com/search?content_id=249112174&content_type=Article&match_order=1&q=数据卷&zhida_source=entity)** + +重点查看容器是否有数据卷。使用 `docker inspect` 检查 `Mounts` 部分,确认数据卷绑定信息: + +```json +"Mounts": [ + { + "Type": "bind", + "Source": "/path/on/host", + "Destination": "/path/in/container", + "Mode": "rw", + "RW": true, + "Propagation": "rprivate" + } +] +``` + +将A服务器宿主机的目录备份到B服务器上 + ## Docker 容器与宿主机时间不同步 @@ -784,7 +864,7 @@ ps aux | grep "nginx: worker process" | awk '{print $1}' mkdir /etc/sqlserver_data chmod -R 777 /etc/sqlserver_data docker pull mcr.microsoft.com/mssql/server -docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Wyd210213" -p 1433:1433 --memory 2000M --name sqlserver2022 -v /etc/sqlserver_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server +docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Wyd210213" -p 1433:1433 --memory 2000M --name sqlserver2022 --restart=always -v /etc/sqlserver_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server ``` ## Docker 安装 PostgreSQL @@ -792,6 +872,9 @@ docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Wyd210213" -p 1433:1433 --me ```shell docker pull postgres:latest docker run -d --name=pgsql -p 5432:5432 -e POSTGRES_PASSWORD=Wyd210213 postgres:latest + +docker run -d -p 15432:5432 --name postgres16 --restart=always -v /usr/local/docker/postgres16/pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=Wyd210213 postgres:16.8 + ``` ## Docker 安装 MySQL 8 @@ -836,7 +919,24 @@ docker run \ --lower_case_table_names=1 ``` +进入容器内 登录mysql +```shell +docker exec -it mysql57 /bin/bash +mysql -uroot -p +# 若出现 mysql: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored. +# 查看 /etc/mysql/my.cnf 文件权限 +ls -l /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 +``` ## Docker 安装 Redis 7 diff --git a/source/_posts/Linux.md b/source/_posts/Linux.md index 32fad10..7692d34 100644 --- a/source/_posts/Linux.md +++ b/source/_posts/Linux.md @@ -1186,6 +1186,8 @@ sysctl vm.swappiness=60 vim /etc/sysctl.conf # 编辑这行 vm.swappiness=60 +# 应用更改 +sysctl -p ``` ## 升级内核