Docker教程概述

“形象是什么?”

用于创建容器所需的东西
另外,Dockerfile是用于创建镜像的设计图文件。

创造图像的方法 de

    1. Dockerfileを作成

docker buildを実行

docker images で作成を確認

補充

docker image history <REPOSITORY名>で各レイヤーのサイズを知れる

レイヤー:FROM RUNなどのコマンドが1つずつのレイヤーになっている

-t で任意のタグをつけられる

オプション

 

コンテナとは?

アプリケーションを実際に実行できる環境のこと
イメージを使用して1つのイメージから1つのコンテナを作成できる

创建和运行容器

docker runを実行

docker ps で動いているコンテナを確認

docker exec -it <コンテナID> bashで中に入ることができる
4.docker stop <コンテナID>でコンテナを停止

docker rm <コンテナID>でコンテナを削除

填补

docker run –dでバックグラウンドで実行できる
mysqlの場合はdocker exec -it <コンテナID> mysql -u root -pになる

docker rm -f <コンテナID>でコンテナを停止 削除

以下是用正確引用的方式以中文進行表述:
“オプション”可以翻譯成”選項”。

 

音量

在容器中创建、删除文件等操作,但如果删除容器,则这些更改将被删除。通过使用卷,可以实现持久化。

为了实现持久化,有两种方法。

    • Dockerのボリュームを使用

 

    ローカルファイルをマウントして使用

使用Docker的卷 (Juè)

    1. 在中国,将以下内容进行本地化改写,只需要一种选择:

docker volume create <任意>
docker run -dp <端口号> –mount type=volume,src=<已经选择的任意名称>,target=/etc/<任意名称> <容器名>

通过docker volume inspect,可以实际查看Docker保存数据的位置(MountPoint)。

使用挂载本地文件(绑定挂载)

    1. docker run -it –mount type=bind,src=”$(pwd)”,target=/src ubuntu bash

 

    コンテナ内で加えた変更がローカルでも起きていることがわかります

以下是中文的原生释义,只需要一种选择:

选项

 

连接两个集装箱

コンテナは1つの役割を担うことでバージョン管理が容易になったり、DBと分けてスケーリングできるなど良いことが多い
コンテナは他のコンテナを参照することができない
同一のネットワークを使用することでコンテナ同士でやり取りを行えるようにする

    1. 使用docker network create命令来创建网络

 

    启动MySQL容器并分配给该网络
docker run -d \
     --network <1で作成したネットワーク名> --network-alias mysql \
     -v <任意>:/var/lib/mysql \
     -e MYSQL_ROOT_PASSWORD=<任意> \
     -e MYSQL_DATABASE=<任意> \
     mysql:8.0
    将MySQL与应用程序连接起来
docker run -dp 127.0.0.1:3000:3000 \
   -w /app -v "$(pwd):/app" \
   --network <ネットワーク名> \
   -e MYSQL_HOST=mysql \
   -e MYSQL_USER=<任意> \
   -e MYSQL_PASSWORD=<2で作成したパスワード> \
   -e MYSQL_DB=<2で作成したDB> \
   node:18-alpine \
   sh -c "yarn install && yarn run dev"

docker exec -it <mysqlコンテナID> mysql -p <2で作成したDB名>で確認

在这里只需要一个选项。

只需要一个选项。

 

Docker Compose —
Docker Compose

複数のコンテナを使用する場合にコンテナ同士を繋いだり、ボリュームのマウント、環境変数の設定など手順が多く時間がかかったりミスが発生することを防げるもの
docker-compose.ymlのあるディレクトリでdocker-compose upのみでイメージの作成からコンテナの起動まで完了できる

services:
  app: ←なんでも可 自動的にネットワークエイリアス名となる
    image: node:18-alpine ←Docker Hubなどでも取得可能
    command: sh -c "yarn install && yarn run dev" ←imageとどちらが先でも可
    ports:
      - 127.0.0.1:3000:3000 ←portを定義するもの
    working_dir: /app ←(-w /app)
    volumes:
      - ./:/app ←(-v "$(pwd):/app" \)
    environment:
      MYSQL_HOST: mysql
      MYSQL_USER: root
      MYSQL_PASSWORD: secret
      MYSQL_DB: todos

  mysql:
    image: mysql:8.0
    volumes:
      - todo-mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: todos

volumes:
  todo-mysql-data:
upbuildrunstartDockerイメージの作成からコンテナの作成、起動 Imageがすでにある場合は作り直さない depends_onやlinksで紐づいているコンテナもまとめて起動Dockerイメージを作成Dockerイメージの作成からコンテナの作成、起動 1つのサービスに対して1つのコマンドのみ作成済のコンテナを起動

请用中文将以下内容进行改述,只需要一种方式:

选项

 

广告
将在 10 秒后关闭
bannerAds