私はインターネット上で利用可能なすべてのソリューションを適用しましたが、それでもDockerを実行することはできません。
私のサーバーでScrapy Splashを使いたいです。
これは私が実行したコマンドのhistory
です。
docker run -p 8050:8050 scrapinghub/splash
Sudo docker run -p 8050:8050 scrapinghub/splash
Sudo usermod -aG docker $(whoami)
Sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
Sudo docker run -p 8050:8050 scrapinghub/splash
reboot
Sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash
私も私のサーバーを再起動しようとしたのを見ることができますが、それは助けにはなりませんでした。
ps -aux | grep docker
の出力を見る
root@mani:/var/www/html# ps aux | grep docker
root 8524 0.0 0.8 127904 13964 ? Ssl 17:21 0:00 /usr/bin/dockerd --raw-logs
root 8534 0.0 0.3 90588 5012 ? Ssl 17:21 0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root 8543 0.0 0.0 8812 764 pts/1 S+ 17:21 0:00 grep --color=auto docker
root 16356 0.0 0.0 17200 964 pts/1 S 17:14 0:00 newgrp docker
root 20080 0.0 0.0 17200 964 pts/1 S 17:06 0:00 newgrp docker
root 30221 0.0 0.0 17200 964 pts/1 S 17:09 0:00 newgrp docker
あなたはこれを試すことができます:
systemctl start docker
私にとってはうまくいった。
Ps:Sudoなしではできないコマンドがある場合は、これを試してください。
gpasswd -a $USER docker
Dockerが正しくシャットダウンされないと、このエラーが発生する可能性があります。次の答えはdocker snapパッケージです。
snap logs docker
を実行して、以下を探します。
Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid
そのファイルを削除してdockerを再起動するとうまくいきました。
rm /var/snap/docker/179/run/docker.pid
snap stop docker
snap start docker
必ず「179」を適切なバージョン番号に置き換えてください。
現在のユーザーはdockerデーモンと通信するためのアクセス許可を持っていない可能性があるため、最初に Sudo を試してください。すなわち、 /var/run/docker.sock
それでもまだ動作しない場合は、インストール後、単にdockerデーモンを停止してください。
$ Sudo service docker stop
そして、以下のコマンドを実行してデーモンをバックグラウンドで起動します。
$ Sudo Nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
Dockerを使いやすくするには、自分のユーザー名をDockerユーザーグループに追加する必要があります。グループにユーザーを追加するには、最後にユーザー名を追加して、下のコマンドで実行できます。
$ Sudo usermod -aG docker
また、このステップはLinux用のdockerインストール後のステップの公式文書( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )にも記載されています。
Ubuntu 16.04ユーザー はこれらのステップに従うことができます、
内部ファイル /lib/systemd/system/docker.service change: ExecStart =/usr/bin/dockerd fd:// with ExecStart =/usr/bin/dockerd -H tcp://0.0.0.0:2375
内部ファイル /etc/init.d/docker change:
DOCKER_OPTS = with DOCKER_OPTS = " - H **** tcp://0.0.0.0:2375 "
その後、マシンを再起動してください。そして、dockerで遊んでみましょう。
とにかく走れ
Sudo dockerd
そして行ってもいいでしょう。
これは通常、dockerを停止していない場合に起こります。
解決する
service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start
それから、「docker run ....」をクリックして画像をダウンロードし、通常通りコンテナを起動します。
これがLinux上で私のために働く解決策です。
systemctl start docker
。
これをubuntuのエクスポートで使用するDOCKER_Host = tcp:// localhost:2375
Gitlab CIを実行しているノードにも同じ問題がありました:lts image:
このパスの情報を確認してください/etc/docker/daemon.json
{
"registry-mirror": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.199.100:5000"
]
}
削除する
"insecure-registries": [
"192.168.199.100:5000"
]
そしてうまく動きます ここに画像の説明を入力してください
私はrootで実行していて、以下で試してみました、それはうまくいきました:
service docker start
export DOCKER_Host="tcp://0.0.0.0:2375"
メッセージが表示されたら、AWSのインスタンスでdocker(インストールされたばかり)を実行しようとしていました。私はSudo service docker start
を書くだけで、私にとってはうまくいきます。
AWSとDocker も参照してください。
export DOCKER_Host = tcp:// localhost:2375は、Sudoアクセス権がなく、ユーザーがunix:///var/run/docker.sockにアクセスできない人に最適です。
Yumを使ってdockerをインストールしたときも、Linuxで同じ問題に直面しました(yum install docker)。
解決策:公式サイトからdocker binaryをダウンロードしてください: docker install 、解凍してインストール手順に従ってください。