私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
環境を準備します。
- ヴイエムウェア17
- Ubuntu18.04(LTS):https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Docker 関連のドキュメント:
- docker公式サイトアドレス:https://www.docker.com/
- docker ドキュメントのアドレス: https://docs.docker.com/
- docker イメージ ウェアハウス: https://hub.docker.com/
1. docker とは: コンテナを簡単に管理できるオープンソースのコンテナ エンジンであり、コンテナはサンドボックス機構を使用して互いに分離されています。
2. docker はどのような問題を解決しますか: ソフトウェア環境の移行の問題を解決します。
3. コンテナと仮想マシンの違い:
4.ドッカーストレージ:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Docker ネットワーク: 安定したドメイン名としてホスト名アクセスを実現するカスタム ネットワークを作成します。 (同じネットワーク上のコンテナが相互に通信できるようにします)
#示例
#自定义网络
docker network create mynet
#主节点
docker run -d -p 6379:6379
-v /app/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
--network mynet --name redis01
bitnami/redis
#从节点
docker run -d -p 6380:6379
-v /app/rd2:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=slave
-e REDIS_MASTER_HOST=redis01
-e REDIS_MASTER_PORT_NUMBER=6379
-e REDIS_MASTER_PASSWORD=123456
-e REDIS_PASSWORD=123456
--network mynet --name redis02
bitnami/redis
この記事は Ubuntu 環境のインストールに基づいています。権限がない場合は、先頭に sudo を追加してください。
1. ファイアウォールをオフにします (その後の外部アクセスのために手動でポートを公開する必要がなく、テストに便利です)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2.ドッカーをインストールする
#卸载旧版docker
sudo apt-get remove docker docker-engine docker.io containerd runc
#更新软件包
sudo apt-get update
#安装一些工具
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
#安装docker
sudo apt install docker.io
#验证dokcer是否安装成功
docker --version
#启动& 开机启动docker; enable + start 二合一
sudo systemctl enable docker --now
#配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
1. Dockerサービスの状態管理:
2. Docker イメージの管理:
3. Docker コンテナ管理:
4. Docker データ量:
データ量:dockerで管理されるフォルダーです。
データ ボリュームの使用: データ ボリュームをコンテナ内のパスにバインドして、コンテナとホスト間のファイルの双方向自動転送を実現できます。
ファイルをホストのデータ ボリュームに配置します。docker はファイルをコンテナーに自動的に同期します。
コンテナー内のファイルが変更された場合、docker はそれらのファイルをホストのデータ ボリュームに自動的に同期します。
データボリューム操作コマンド:
データ ボリュームのリスト: docker volume ls
データ ボリュームを作成します: docker volume create data volume name
データ ボリュームの詳細の表示 (実際のパス): docker volume Inspection データ ボリューム名
データ ボリュームの削除: docker volume rm データ ボリューム名
コンテナーを作成し、データ ボリュームをバインドします。
docker run -di --name=コンテナ名 -v データボリューム名: コンテナイメージ内のパス名: タグ
docker run -di --name=コンテナ名 -v ホスト内のパス: コンテナイメージ内のパス名: タグ
注: -v パラメータのすべてのパスは絶対パスである必要があります。
5. ミラーバックアップ:
ドキュメント: https://docs.docker.com/reference/dockerfile/
Dockerfile ロール: カスタム イメージを作成します。
Dockerfile は基本イメージに基づいて一連の Docker 命令を記述し、これらの命令を層ごとに構築して、最終的にターゲット イメージを構築します。
共通の指示 | 効果 |
---|---|
から | イメージベース環境の指定 |
走る | カスタムコマンドを実行する |
CMDF | コンテナ起動コマンドまたはパラメータ |
ラベル | カスタムラベル |
さらす | 公開ポートを指定する |
環境 | 環境変数 |
追加 | 画像にファイルを追加する |
コピー | ファイルをイメージにコピーする |
エントリーポイント | コンテナ固定起動コマンド |
音量 | データ量 |
ユーザー | ユーザーとユーザーグループを指定する |
ワークディレクトリ | デフォルトの作業ディレクトリを指定する |
ARGB | ビルドパラメータを指定する |
例:
#编写dockerfile文件
vim Dockerfile
FROM openjdk:17
LABEL author=aopmin
COPY app.jar /app.jar #把jar包复制到容器的根目录下
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"] #运行命令
# 构建镜像
docker bulid -f Dockerfile -t 镜像名:tag .
サービス オーケストレーションまたはコンテナ オーケストレーション: 特定のビジネス ルールに従ってコンテナをバッチで管理します。
Docker Compose は、複数の Docker コンテナーを定義して実行するためのオーケストレーション ツールです。
1 つのコマンドで複数のコンテナを起動できます。これは主に、コンテナを管理および調整する方法の問題を解決します。
Docker Compose を使用するには、次の 3 つの手順があります。
docker-compose.yml
アプリケーションを構成するサービスを定義するdocker-compose up -d
アプリケーションを開始するdocker-compose をインストールします。
# 下载docker compose
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose -version
docker-compose をアンインストールする場合は、次のコマンドを実行できます。
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
docker-compose の一般的なコマンド:
# !!!注意:必须先切换到`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
#创建容器并后台启动
docker-compose up -d
#直接启动容器
docker-compose start
#其它命令:
docker-compose help # 查看帮助
docker-compose stop # 停止容器
docker-compose start # 启动容器
docker-compose restart # 重启容器
docker-compose rm # 删除已停止的容器
docker-compose down # 停止并删除容器
例:
1. docker-compose ディレクトリを作成する
mkdir ~/docker-compose
cd ~/docker-compose
2. 書くdocker-compose.yaml
書類
version: "3.0"
services:
redis:
container_name: redis
image: redis:5.0
ports:
- 6379:6379
nginx:
container_name: nginx
image: nginx:1.14.2
ports:
- 80:80
volumes:
- /root/volumes/nginx/html:/usr/share/nginx/html
tomcat:
container_name: tomcat
image: tomcat:8.5.88
ports:
- 8080:8080
volumes:
- /root/volumes/tomcat/webapps:/usr/local/tomcat/webapps
3.スタート
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d