使用中文原生地将以下内容进行改写:Docker命令

1. 安装Docker

我要在Raspberry Pi 3上安装Docker。

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

启动测试:如果确认并显示版本,则表示安装正常。

pi@raspberrypi:~ $ sudo usermod -aG docker pi
pi@raspberrypi:~ $ docker version
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        d7080c1
 Built:             Wed Feb 20 02:34:35 2019
 OS/Arch:           linux/arm
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       d7080c1
  Built:            Wed Feb 20 02:30:23 2019
  OS/Arch:          linux/arm
  Experimental:     false

注意:一般用户可能无法执行docker版本以及其他docker命令。
在这种情况下,需要为一般用户添加权限。请参考以下方法。

2. 获取Rasbian镜像

如果无法获取下方的图片,请先登出,然后再次登录并重新执行操作。

pi@raspberrypi:~ $ sudo docker pull resin/rpi-raspbian  //rasbianを使う場合はこちらを使う。
pi@raspberrypi:~ $ docker pull ubuntu:18.04 //ubuntuを使う場合はこちらを使う

确认是否已获取到Raspbian的镜像,可以通过运行docker image ls命令进行。

pi@raspberrypi:~ $ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
resin/rpi-raspbian   latest              28f1ee4d4d5a        8 months ago        128MB

要删除Rasbian镜像,使用docker rmi [Image ID]命令。

pi@raspberrypi:~ $ docker rmi d7ac96770fef
Deleted: sha256:d7ac96770fefd605cf39c955951443dc2b0b8563cdad57db51821690a6be565a

3. 使用图像获取来创建容器的命令

1.JPG

在使用例中, 通过Image创建容器。若要打开端口90和端口3000,可以这样写。

docker run -it --name rasp0 --publish 90:90 --publish 3000:3000 resin/rpi-raspbian:latest bash

使用图像创建容器。如果要打开端口4000,则写作如下。

docker run -it --name radiko --publish 4000:4000 ubuntu:18.04 bash

启动容器

docker start -ai rasp0

5. 主机和容器之间的文件共享

ホストをファイル共有を行うコンテナを作る。複数ポートを空けたい時は、–publish 91:91 –publish 3000:3000とする。
「-m 4g」はコンテナに4Gのメモリを割り当てるという意味になる。

[ホーム] /hoem/pi/dcshare と[コンテナ内] /homeでファイルを共有する方法
構文
docker run -m 4g -v [共有を行うホームのディレクトリ]:[共有を行うコンテナのディレクトリ] -it –public xx:yy [イメージ] bash

docker run -m 4g -v /home/pi/dcshare:/home -it --publish 91:91 --publish 3000:3000 resin/rpi-raspbian:latest bash

你可以通过free命令来确认实际是否分配了内存。

root@b5f28ebc9bee:/# free
              total        used        free      shared  buff/cache   available
Mem:        4039632      163352      929732      281480     2946548     3600908
Swap:       1946040           0     1946040

4. 各種アプリのインストール

下記の作業はdocker上で使用する場合は、コンテナの中に入って行うこと。

4.1 Node.jsとnpmのインストール

こちらを参照してください。

5. 容器操作

pi@raspberrypi:~ $ docker container ls -a  //すべてのコンテナを表示する
pi@raspberrypi:~ $ docker stop ebf7914c15d5 //IDを指定してコンテナを停止する
pi@raspberrypi:~ $ docker container rm ebf7914c15d5 //IDを指定してコンテナを削除する
pi@raspberrypi:~ $ docker rename [container_oldname] [container_newname] //コンテナの名前を変更する
pi@raspberrypi:~ $ docker start [コンテナ名] // 指定したコンテナをスタートする
pi@raspberrypi:~ $ docker exec -it [コンテナ名] bash // 指定したコンテナに入る
pi@raspberrypi:~ $ docker unpause CONTAINER //一時停止したコンテナを再開させる。

6. 容器的网络调查

pi@raspberrypi:~ $ docker container inspect --format '{{ .NetworkSettings.IPAddress }}' [container名]  //コンテナに割り当てられたIPアドレスを取得する
pi@raspberrypi:~ $ docker container inspect [container名] //containerのネットワーク情報を取得する。
pi@raspberrypi:~ $ docker network ls //dockerネットワーク内の構成要素を取得する。
pi@raspberrypi:~ $ docker network connect [ネットワーク名] [コンテナ名] //指定したコンテナをネットワークに接続する

2.JPG
3.JPG

補足
PS C:\Users\fdfpy> docker network ls
NETWORK ID NAME DRIVER SCOPE
3f0b5fcd495c bridge bridge local
a08ced067d17 host host local
32c8ce9d2e91 none null local

7. Vue-cliでローカルサーバーを立ち上げ

按照这边的指示安装Vue-cli。

需要安装Git。请参考这里的安装方法。

如果安装Vue-cli的目录的访问权限受到限制,可以使用以下命令来扩展访问权限。

pi@raspberrypi:~ $ sudo chmod o+rw [ディレクトリ名] -R  //誰でもアクセスできるようにした。 
4.JPG

请留意

输入http://xxx.xxx.xxx.xxx:91,即可访问用Vue.js构建的本地服务器,并浏览Vue.js的演示界面。

如果在一个container内部启动了本地服务器,然后使用Ctrl + Z强制终止,那么指定的端口仍然会被占用,导致在再次启动本地服务器时出现“address already in used”错误。为了避免这个问题,必须使用kill命令来释放指定的端口。

root@ed8e72dc832e:/home# apt-get install lsof / /lsofインストール
root@ed8e72dc832e:/home# lsof -i:90  //port 90を使用しているプロセスを表示する
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    1077 root   21u  IPv4 994397      0t0  TCP localhost:91 (LISTEN)
root@ed8e72dc832e:/home# kill -9 1077 //プロセス番号 1077を削除する

在Windows系统中(使用PowerShell执行命令)

C:\Users\fdfpy>  netstat -nao|findstr "91"
 プロトコル  ローカル アドレス      外部アドレス           状態            PID
  TCP         0.0.0.0:91             0.0.0.0:0              LISTENING       2196

C:\Users\fdfpy> taskkill /f /pid 2196
成功: PID 2196 のプロセスは強制終了されました。

node.jsでローカルサーバーを立ち上げたときにホストからアクセスできない場合の対応はこちら

从容器中创建镜像文件。

构文
将容器命名为[容器名],并命名为[镜像名]:[标签]。

pi@raspberrypi:~ $ docker commit ed8e72dc832e custom-rasp:rasp
sha256:e6e896468bece61e92ff30cb440efcfc3a56eed3bb986b47f162c9901ec3c01b
pi@raspberrypi:~ $ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
custom-rasp          rasp                e6e896468bec        6 minutes ago       601MB
<none>               <none>              d7ac96770fef        About an hour ago   601MB
<none>               <none>              3646b21d0ac3        About an hour ago   601MB
nginx                latest              96fa93c111fd        2 weeks ago         97.6MB
resin/rpi-raspbian   latest              28f1ee4d4d5a        8 months ago        128MB
docker/compose       1.9.0               78c3b8586e4a        2 years ago         59.5MB

9. 将图像文件转移到另一台机器上 yī

请看这边。

10. 将图像上传到Docker Hub。

把10-1的图像文件改成指定格式的文件名。

如果要将镜像上传到Docker Hub,必须以指定格式确定镜像文件名。

如果已经存在Image文件名,可以使用以下命令来更改Image文件名。

将[従来的Image文件名]重新命名为[Docker Hub账户名]/[従来的Image文件名]:latest。

pi@raspberrypi:~ $ docker tag 3130485e78a3 fdfpy/3130485e78a3:latest

pi@raspberrypi:~ $ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED            SIZE
fdfpy/3130485e78a3   latest              3130485e78a3        27 minutes ago     1.68GB   ←名前を変更した
stockget             20200410            3130485e78a3        27 minutes ago     1.68GB  ←すでにあるImage
stockget             20200316            732b01dc576f        3 weeks ago        1.66GB
stockapri            20200224            e7b9ee411bf3        6 weeks ago        1.32GB
stockget             v0                  e18cee2f2da6        3 months ago       1.11GB
ubuntu               18.04               154a1aa86195        3 months ago        46.7MB
resin/rpi-raspbian   latest              28f1ee4d4d5a        14 months ago       128MB

10-2 登录Docker Hub

pi@raspberrypi:~ $ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: fdfpy
Password:
WARNING! Your password will be stored unencrypted in /home/pi/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

上传Docker镜像文件10-3

pi@raspberrypi:~ $ docker push fdfpy/3130485e78a3:latest
The push refers to repository [docker.io/fdfpy/3130485e78a3]
f7dce5f67e14: Pushed
aaaaca953bab: Pushed
77f7899a8a08: Mounted from library/ubuntu
e22dd39d4c8f: Mounted from library/ubuntu
c193d85f5937: Mounted from library/ubuntu
1f1b075df34b: Mounted from library/ubuntu
latest: digest: sha256:cf651e8654168b43f9879df364bec2a02965045053d0d6ca4d6631d418864ae3 size: 1578

11 其他

如果出现了”坏的编组数据(未知类型码)”的错误,可以执行”find /usr -name ‘*.pyc’ -delete”命令,就可以正常运行。

广告
将在 10 秒后关闭
bannerAds