1記事でわかるDockerで遊ぶ
Dockerの基本コマンド
ミラーリング : (ミラーとは、簡単に言うとテンプレート内のクラスに相当するオブジェクト指向のものです。要するにミラーはファイルシステムに相当し、Dockerイメージは、コンテナの実行に必要なプログラム、ライブラリ、リソース、設定などのファイルを提供するだけでなく、実行準備のための多くの設定パラメータ(匿名ボリューム、環境変数、ユーザーなど)を含む特殊なファイルシステムである。(イメージには動的なデータは含まれず、ビルド後に内容が変更されることはありません)。
To view all images locally.
docker images
docker images -q # View the image IDs used
Find mirrors.
docker search Redis
Pull mirrors: docker
docker pull Redis:5.0 # default to latest if you don't specify a version, to find a version go to https://hub.docker.com/
Delete a mirror: docker rmi
docker rmi mirror ID # Delete the specified mirror
docker rmi `docker images -q` # Delete all images
docker file to create an image: docker build -t
docker build -t [image name
Image tagging.
docker tage [image ID] [image name
Update the image: after starting the image
apt-get update
コンテナ : (コンテナとは、認識上、クラスによって作成されるインスタンスであり、ミラーと呼ばれるテンプレートから作成される実体である。コンテナは基本的にプロセスですが、ホスト上で直接実行されるプロセスとは異なり、コンテナプロセスは独自の独立したネームスペースで実行されます。そのため、コンテナは独自のルートファイルシステム、独自のネットワーク構成、独自のプロセス空間、さらには独自のユーザーID空間を持つことができる。コンテナ内のプロセスは分離された環境で実行され、あたかもホストから独立したシステムで動作しているかのように使用される。(この機能により、コンテナに包まれたアプリケーションは、ホスト上で直接実行するよりも安全性が高くなる)。
To see the running containers.
docker ps
To view all containers.
docker ps -a
To build containers.
docker run -it [image ID] /bin/bash
docker run -it --name mycentos docker.io/centos:7 /bin/bash
Parameter description.
-i: runs the container in interactive mode, usually used in conjunction with -t.
-t: reassign a pseudo-input terminal to the container, usually used in conjunction with -i.
-d: runs the container in daemon (background) mode and returns the container ID; requires docker.exec to enter the container, and the container will not shut down after exiting.
-it: the created container is generally an interactive container
-id: the created container is generally a daemon container.
--name="nginx-lb": specifies a name for the container.
To run a container that executes in the background and, at the same time, can be managed with the console.
docker run -it -d ubuntu:latest
Run a container with commands executing continuously in the background, without directly displaying information about the container: docker run -d ubuntu:latest
docker run -d ubuntu:latest ping www.docker.com
Run a container that executes continuously in the background, with commands, and can be restarted after the program is terminated, and can be managed from the console: docker run -d
docker run -d --restart=always ubuntu:latest ping www.docker.com
Assign a name to the container.
docker run -d --name=ubuntu_server ubuntu:latest
The container exposes port 80 and specifies the host port 80 to communicate with (before the host port and after that the port to be exposed by the container):
docker run -d --name=ubuntu_server -p 80:80 ubuntu:latest
Specify the directory inside the container to share with the host directory (before the host folder, after that the folder to be shared by the container):
docker run -d --name=ubuntu_server -v /etc/www:/var/www ubuntu:latest
Start the container.
docker start container ID
docker start container name
Enter the container: # Exit the container, it will not shut down
docker exec -it container ID /bin/bash
docker exec -it container name /bin/bash
Stop the container.
docker stop Container ID
docker stop container name
Rename.
docker rename original container name new container name
Delete the container: # If the container deletion fails, you need to stop it first before you can delete it
docker rm container ID
docker rm container name
docker rm `docker ps -aq`
To view container information.
docker inspect container name
<イグ
コンテナでデータを管理する方法は、大きく分けて2つあります。
データボリューム(Data Volumes)
データボリュームは、ホスト内のディレクトリやファイルです。コンテナ・ディレクトリがデータ・ボリューム・ディレクトリにバインドされると、他方のバインドが直ちに同期される。データボリュームは複数のコンテナで運ぶことができ、1つのコンテナは複数のデータボリュームをマウントすることができます。データボリュームの更新は、ミラーに影響を与えません。データボリュームは、コンテナが削除された場合でも、デフォルトで常に存在します。役割:コンテナデータの永続化、外部マシンとコンテナの通信、コンテナ間のデータの相互作用。
データボリュームコンテナ
継続的に更新されるデータを複数のコンテナで共有する必要がある場合、データ・ボリューム・コンテナを使用するのが最も簡単な方法です。データボリュームコンテナはコンテナでもありますが、他のコンテナがマウントするデータボリュームを提供するために特別に設計されています。
1. Dockerのインストール
1. Update the apt package index
yum update
2. Install some necessary system tools.
yum install -y yum-utils device-mapper-persistent-data lvm2
3. Add software source information.
yum -y install yum-utils #Install yum-config-manager command corresponding tools
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. Update the yum cache: yum makecache fast
yum makecache fast
5. Install Docker-ce: yum -y install docker-ce
yum -y install docker-ce
6. Start the Docker backend service
systemctl start docker
7. Test run hello-world
docker run hello-world
Since there is no local image of hello-world, you will download a hello-world image and run it inside the container.
8. View the docker image
docker images
9. Set Docker to boot up
systemctl enable docker
1.1、設定アリ雲無料ミラーガスペダル(各ユーザーのためのアリ雲は、別のミラーガスペダルを設定し、設定のチュートリアルを提供するために)。
2. Dockerについて
2.1. Dockerイメージはどのように作られるのですか?
(1). ミラーにするコンテナ
Container to mirror:
docker commit container id mirror name:version number
Mirror to file.
docker save -o zip file name mirror name:version
File to mirror: docker load -i
docker load -i compress file name
(2).Dockerfile(ドッカーファイル
Dockerfileは、テキストファイルです。これはディレクティブのリストを含んでおり、それぞれがベースイメージを元に、レイヤーを構築し、最終的に新しいイメージを構築します。開発者向け:開発者向けに完全に1つの開発環境を提供できる。テスター向け:開発中に構築されたイメージやDockerfileファイルを直接取得して、新しいイメージを構築して作業を開始することができます。運用担当者向け:デプロイ時にアプリケーションをシームレスに移植することができる。
3. Dockerを使用したMySQLサービスの構築
1. 公式イメージを引っ張る(ここでは5.7を選択、後ろにバージョン番号を書かないと自動的に最新版を引っ張ることになる)。
docker pull mysql:5.7 # pull mysql 5.7
docker pull mysql # pull the latest mysql image
2. プルが成功したかどうかを確認する
docker images
3. Mysqlのディレクトリを作成する
cd /opt # The exact path is up to your preference
mkdir mysql
cd mysql
4. 一般的に、データベースコンテナは、ディレクトリマップを作成する必要はありません
docker run -p 3306:3306 --name c_mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-name: the name of the container, here c_mysql
-e: configuration information, here configure the login password for the root user of c_mysql
-p: port mapping, here mapping the host port 3306 to the container port 3306
-d: source image name, here is mysql:5.7
5. ディレクトリマッピングを作成する場合(カレントパスは$PWD、改行位置は♪)、「#」を入力します。
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/logs:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
- linuxコマンドの最後にある" \" は、最後のキャリッジリターンがコメントアウトされていることを意味し、システムはコマンドが終了していないことを理解し、キャリッジリターンなどの終了文字が読まれるまでユーザーが入力するのを待ち続けます。
- -v: ホストとコンテナ間のディレクトリマッピングで、ホストディレクトリの前に ":、コンテナディレクトリの後に "を記述します。
6. コンテナが正しく動作していることを確認する
docker container ls
- コンテナID、コンテナのソースイメージ、開始コマンド、作成時間、ステータス、ポートマッピング情報、コンテナ名が表示されます。
7. Mysqlへの接続
dockerに移動し、ローカルでmysqlクライアントに接続します。
docker exec -it c_mysql /bin/bash
mysql -uroot -proot
未完成、継続的に更新予定...
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例