dockerのインストールと使用

7486 ワード

Dockerの紹介:
Dockerはオープンソースのアプリケーションコンテナエンジンで、Dockerは開発者にアプリケーションをパッケージ化し、軽量級で移植可能なコンテナに依存させ、流行しているLinuxマシンに公開したり、仮想化したりすることができます.仮想化とは、コンピューティング分野において、サーバ、ネットワーク、ストレージなど、コンピュータの様々なリソースの仮想化を指し、抽象的に変換して提示され、ユーザーが元のコンポーネントよりも良い方法でこれらのリソースを適用できるようにする.
Dockerの利点
起動速度が速く、秒級の性能が原音メモリに近いコストが小さいハードディスク資源は運行密度を節約し、単機で何千ものコンテナをサポートし、異なるアプリケーションを安全に隔離し、移行しやすい
以上の利点は、仮想マシンに対するものです.総じて言えば、Dockerコンテナは速く、システム資源に対する需要が少なく、設計理念はユーザーを便利にし、Dockerfileを通じて柔軟な自動化作成と配置メカニズムをサポートし、仕事の効率を高める.
コンセプト
DickerミラーDockerミラーは仮想マシンミラーに似ています.1つのミラーには基本的なオペレーティングシステムが1つしか含まれていません.Apacheのみがインストールされているので、Apacheミラーになります.
DockerコンテナDockerコンテナは、ミラーから作成されたアプリケーション実行インスタンスであるコンテナを使用してアプリケーションを分離および実行する砂箱に似ています.コンテナは、Linuxシステム環境の簡易版と、上で実行されているアプリケーションをパッケージ化した箱と見なすことができます.コンテナは、ミラーによって構成される例であると理解される.
DockerウェアハウスDockerウェアハウスはコードウェアハウスに似ており、Dockerミラーが集中的に格納されている場所です.
インストール:
コマンドのインストール:
sudo apt-get update
sudo apt-get install docker
sudo apt-get install docker.io
sudo apt-get install docker-registry

具体的な手順:
Dockerインストール手順
以下ubuntu 18とする.04インストール例:
1.まずリソースupdateを更新する
sudo apt-get  update
2.dockerのインストール
sudo apt-get install  docker
sudo apt-get install  docker.io
sudo apt-get install  docker-registry
3.dockerの停止、起動、再起動
 sudo systemctl start | stop | restart docker.service
4.dockerバージョンの表示
sudo docker version
5.電源投入の自己起動
sudo systemctl enable docker 6. hello-world   docker run hello-world          # docker hub
 
NVIDIA-docker:  
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update


        18.03.1   docker。 
sudo apt-get install docker-ce=18.03.1~ce-0~ubuntu 
  :          nvidia-docker         

sudo apt-get install -y nvidia-docker2

sudo pkill -SIGHUP dockerd

sudo docker run -–runtime=nvidia -–rm nvidia/cuda nvidia-smi



# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi




or 
# list       :
apt-cache madison nvidia-docker2 nvidia-container-runtime
#        18.09.2       
# nvidia-docker2 nvidia-container-runtime       

sudo apt-get install -y nvidia-docker2=2.0.3+docker18.09.2-1  nvidia-container-runtime=2.0.0+docker18.09.2-1


# docker     
 sudo apt-get update
 sudo apt-get install docker
 sudo apt-get install docker.io
 sudo apt-get install docker-registry

# test
docker run hello-world

docker一般コンテナの作成
1.nginxコンテナを作成するには:
sudo docker run -d -p 80:80 hub.c.163.com/library/nginx#ミラーアドレス163ミラーソースにログインして検索できます
2.mysqlコンテナを作成するには:
sudo docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
3.tomcatコンテナを作成するには:
sudo docker pull hub.c.163.com/library/tomcat:latest
4.ubutnu 18を通過する.04ミラーはコンテナを作成します.
sudo docker create ubuntu:18.04#デフォルトのミラーアドレスから検索
4.コンテナの運転を開始し、ミラーのbash端末に入る
sudo docker run -i -t ubuntu:18.04/bin/bash
 
操作
ミラー操作
  docker  :docker images
  docker  :docker search    
  docker  :docker pull    :                 
      :docker commit -m      -a        id          
      docker  : docker build -t       -f              
    :docker rmi -f       

ミラーの取得
docker pull [  ] [Docker Registry   [:   ]/]   [:  ]
docker pull ubuntu:18.04

ミラーの実行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --rm --name ubuntu18 -p 8080:8080 ubuntu:18.04 bash

-i:         ,    -t     
-t:              ,    -i     
-d:      ,   
-p:         (     :    )
--name:      
--rm:             (    docker run -d     )
bash:          ,            Shell,      bash

ミラーのリスト
docker image ls
docker image ls -a :      
docker image ls ubuntu :      

ローカルミラーの削除
docker image rm [  ]  [ ...]
docker image rm ubuntu:18.04

ミラー短ID、ミラー長ID、ミラー名またはミラー要約
 
コンテナ操作
Docker  :systemctl start docker
Docker  :systemctl stop docker
         :docker ps         -a       
        :docker create  images_id --name      
    :docker run -d -p     :               -d            -p               -v     :    (              ) -w         
        :docker port    
      : docker logs -f    id         -f     tail -f        
      :docker top    
    :docker rm    
    :docker attach   id

 
 
 
コンテナを新規作成して起動
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --rm --name ubuntu18 -p 8080:8080 ubuntu:18.04 bash

-i:         ,    -t     
-t:              ,    -i     
-d:      ,   
-p:         (     :    )
--name:      
--rm:             (    docker run -d     )
bash:          ,            Shell,      bash

終了済みコンテナの起動
docker container start [container ID or NAMES]
docker container start ubuntu18

コンテナのリスト
docker ps 
docker container ls

-a :       ,      
-n :       n   

終了コンテナ
docker container stop [container ID or NAMES]

コンテナの再起動
docker container restart [container ID or NAMES]

容器に入る
docker exec -it [container ID or NAMES] bash
exit:  

コンテナの削除
docker container rm  [container ID or NAMES] 

終了したすべてのコンテナをクリーンアップ
docker container prune

コンテナIPアドレスの取得
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' [container ID or NAMES] 

//    
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

//      
docker inspect [container ID or NAMES] 

eg:
 docker build -t soar/centos:7.1 .          Dockerfile      soar/centos:7.1   

 docker run -d -p 2222:22 --name test soar/centos:7.1     soar/centos:7.1    test   ,        ,    p           2222  ,   P                 

 
 
 
 
 
Others :
dockerインストールおよび共通コマンド
Ubuntu Dockerの使用
 
Docker共通ベースコマンド
人体姿勢追跡】Pose Flow:Efficient Online Pose Tracking【解読】
https://zhuanlan.zhihu.com/p/32823731
https://www.zhihu.com/search?type=content&q=%E5%A7%BF%E6%80%81%E4%BC%B0%E8%AE%A1%E8%A1%8C%E4%B8%BA%E8%AF%86%E5%88%AB
 
https://zhuanlan.zhihu.com/p/54357376
https://zhuanlan.zhihu.com/p/37582402
https://blog.csdn.net/qq_38522972/article/details/82993216
https://blog.csdn.net/sinat_34474705/article/details/75268248
https://www.cnblogs.com/liaohuiqiang/p/9226335.html
https://www.jianshu.com/p/6708000b9332
https://www.cnblogs.com/taoshiqian/p/9593901.html
https://blog.csdn.net/u011681952/article/details/88035348
https://blog.csdn.net/u011681952/article/details/86569745#5__58