Linux & Docker コマンドリファレンス&トラブルシューティング

これらのコマンドは、社内の開発者向けに参考用として公開しています。他の開発者にも役立つ可能性があるため、一般公開しています:

Docker

#すべてのコンテナを停止: docker stop $(docker ps -a -q)

Dockerサービスを再起動

sudo systemctl restart docker.service すべてのコンテナを再作成 docker-compose up --build --force-recreate --no-deps #すべてのコンテナを強制停止 docker kill $(docker ps -q) #すべてのコンテナを削除 docker rm $(docker ps -a -q) #すべてのDockerイメージを削除 docker rmi $(docker images -q) #残りをすべて削除 docker system prune --all --force --volumes #コンテナのIPアドレスを調べる docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_name] #Dockerのログを表示 docker-compose logs #Dockerのプロセスを表示 docker-compose ps コンテナ内でmysqldumpを実行 docker exec [container_name] sh -c 'exec mysqldump --all-databases -uroot -p[password]' > /home/user/all-databases.sql エラー応答: Could not kill running container runc did not terminate successfully: container_linux.go:392: init process caused “permission denied” これはAppArmorがDockerコンテナの停止を妨げているときに発生することがあります。 解決策のひとつは、AppArmorをアンインストールしてDockerサービスを再起動することです: sudo apt-get purge --auto-remove apparmor sudo service docker restart docker system prune --all --volumes sudo systemctl restart docker sudo systemctl daemon-reload userlandプロキシの起動エラー: listen tcp 172.200.0.1:443: bind: address already in use PIDを見つけて終了させます: sudo netstat -nlpt |grep 3306 sudo kill [pid]

ネットワーク

IPごとのオープン接続数 netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 特定のポートに接続しているすべてのIPアドレスを表示 netstat -an |grep 443 netstat -an |grep 80 IPごとの接続数をカウント netstat -an | grep 80 | wc -l netstat -an | grep 443 | wc -l

ファイアウォール iptables

ファイアウォールでIPアドレスをブロックsudo iptables -A INPUT -s [IP ADDRESS] -j DROP 特定のIPアドレスからのアクセスを許可sudo iptables -A INPUT -s 91.52.78.249 -p tcp –destination-port 3306 -j ACCEPT fail2banによってブロックされたIPアドレスのバンを解除 iptables -D [chain] [line] z.B. iptables -D f2b-wordpress-hard 1 ファイアウォールのルール 参照: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04

  • sudo ufw default deny incoming
  • sudo ufw default allow outgoing
  • sudo ufw allow ssh
  • sudo ufw allow 1000
  • sudo ufw allow http
  • sudo ufw allow 443
  • sudo ufw allow from 91.52.78.249 to any port 3306 (ローカルIPアドレス)
  • sudo ufw allow from 52.45.200.92 to any port 3306 (Amazon DBS)
  • sudo ufw deny from 157.245.247.135

MySQL

MySQLのパスワード認証モジュールをmysql_native_passwordに変更します。 7.XからMySQL 8.xへのアップグレード時に必要です ALTER USER ‘user’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password1’;

xDebugのデバッグ:-)

コードエディタがxDebugに接続しない場合は、アプリのフォルダに test.php ファイルを作成し、いくつかのコードを書いてブレークポイントを追加します。次に以下のコマンドを実行してテストします:

PHP_IDE_CONFIG="serverName=tests" php -dxdebug.remote_autostart=1 -dxdebug.remote_enable=1 -dxdebug.default_enable=1 -dxdebug.remote_connect_back=1 -dxdebug.remote_port=9001 -dxdebug.idekey=PHPSTORM -dxdebug.remote_host=172.200.0.1 test.php

ログインしてもログイン画面が再表示される

KDEにログインしようとして、正しい認証情報を入力した後にログインフォームが再読み込みされる場合は、以下のコマンドを試してみてください:

systemctl stop gdm.service
systemctl restart gdm.service
sudo dpkg-reconfigure gdm3
reboot
Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。