# 升级/迁移 Docker 节点

## 一、准备工作 <a href="#id-4icdn" id="id-4icdn"></a>

<mark style="color:red;">必须先导出原节点私钥！！！</mark>

私钥导出教程：[点击前往](https://wiki.starcoin.movemove.org/kai-shi/jie-dian-yun-xing/yun-xing-docker-jie-dian#ea06b35261c8e025ea9791e1ebea8e9a)

准备好私钥，用于导入节点账号。

## 二、停止原节点 <a href="#ki4nt" id="ki4nt"></a>

<mark style="color:orange;">如果是迁移节点，可跳过该步骤</mark>

停止并删除原节点：

```
$ docker rm -f starcoin-main
```

删除原节点 ipc 文件：

```
$ rm -rf /data/starcoin/main/starcoin.ipc
```

更新最新版的镜像：

```
$ docker pull starcoin/starcoin
```

该步骤操作截图如下：

![](https://954439042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdXzzGpY0VSaA01mucBHD%2Fuploads%2FU3WzMOn4HcTmNkk5NmwB%2F1.png?alt=media\&token=4e46d9eb-451a-4afc-9419-698cbf2decc2)

## 三、启动新节点 <a href="#nvqnh" id="nvqnh"></a>

> 小提示：
>
> * 若无需启动矿池，可以删除 -p 9880:9880，和最后的参数：--stratum-address 0.0.0.0 --stratum-port 9880；
> * -n main：指定主网，测试网可写 barnard；

```shell
# 运行新版本
$ sudo docker run --restart=always \
    --name starcoin-main \
    -d -p 9880:9880 \
    -v /data/starcoin/:/data/starcoin/ \
    starcoin/starcoin \
    /starcoin/starcoin \
    -n main \
    -d /data/starcoin \
    --disable-metrics true \
    --miner-thread 0 \
    --stratum-address 0.0.0.0 --stratum-port 9880

# 查看节点运行状态
$ docker ps -a
```

操作截图：

![](https://954439042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdXzzGpY0VSaA01mucBHD%2Fuploads%2FMZVx2BwwT8gpH4rnUYmf%2F2.png?alt=media\&token=a557598a-d4e4-41cd-8d18-ceb8ad848af8)

## 四、导入私钥并设为默认账号 <a href="#id-29p2e" id="id-29p2e"></a>

检查新版本默认账号：

```
$ docker exec -it starcoin-main /bin/bash

> /starcoin/starcoin --connect /data/starcoin/main/starcoin.ipc console

% account default
```

截图如下：

![](https://954439042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdXzzGpY0VSaA01mucBHD%2Fuploads%2FZVLohOHJDEH8wHgQWalw%2F3.png?alt=media\&token=fe25e5ae-9146-4f0b-bdf7-1f1dc0277665)

<mark style="color:red;">如果上面的账号是自己之前的，就结束了，如果账号不对，重新设置：</mark>

导入私钥：

```
% account import -i 私钥
```

设置为默认账号：

```
% account default 私钥对应的账号
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.starcoin.movemove.org/kai-shi/jie-dian-yun-xing/docker/sheng-ji-qian-yi-docker-jie-dian.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
