ホームページ  >  記事  >  運用・保守  >  Docker の Linux インストールと Docker の基本操作の概要

Docker の Linux インストールと Docker の基本操作の概要

WBOY
WBOY転載
2021-12-30 17:49:472379ブラウズ

この記事では、Linux に docker をインストールする方法と docker の基本操作について説明します。

Docker の Linux インストールと Docker の基本操作の概要

1. docker のインストール

Centos 7 で実行するには Docker が必要です。システムは 64 ビットである必要があります。システム カーネル バージョンが 3.10 以降である

1.uname -an 現在のシステム バージョンを表示します

2.yum -y install docker ダウンロードしてインストールしますdocker

3.service docker start docker サービスを開始します

4.docker バージョン docker が正常にインストールされているかどうかを確認します

下の図の情報が表示されると、ローカル Docker が正常にインストールされたことを意味します。非常に簡単です

2. ミラーリング操作

コンテナの作成はイメージに基づいて行う必要があるので、最初に Docker イメージの操作について話しましょう

イメージの検索

#docker イメージ ll ローカル マシンに既にイメージがあるかどうかを確認します

現在マシンにイメージがありません。Docker Hub に移動してダウンロードします (イメージはカスタマイズすることもできますが、私はカスタマイズしません)詳細はここで説明します)

docker search java 、ダウンロードする特定のバージョンを指定することもできます。

例: docker search Ubuntu: 1.2.5.4 を使用できます。 docker Hub を検索すると、多くのイメージがリストされます。

イメージをダウンロードします。

docker pull docker.io/nginx を次の場所にダウンロードします。ダウンロード

ローカルにダウンロードされたイメージは、ダウンロード プロセス中に自動的に解凍されるため、docker Hub で検索したイメージよりも大きくなります。イメージ リストを表示すると、ダウンロードしたばかりのイメージが表示されます

リストには、ウェアハウス名、バージョン ラベル、イメージ ID、作成時間、占有スペースが含まれます

##イメージを削除

削除役に立たないイメージ docker rmi イメージ id

3. イメージの作成と管理

先ほど Nginx イメージをダウンロードしましたので、次のコンテナーを作成します。 Nginx アプリケーション docker run -i -t 0e835a1be9558fa2e28e50a123c04a05 /bin/bash: -i: コンテナーへの標準入力 -t: 割り当て 仮想ターミナル/bin/bash: bash スクリプトを実行します、

docker run -idt --name container_nginx -p 8080:80  docker.io/nginx

Startイメージ docker.io/nginx を使用するコンテナー (container_nginx という名前) -p 8080:80 は、コンテナーのポート 80 をホストの 8080 ポートにマッピングすることを意味します。これにより、コンテナーのサービスにアクセスするためにホストの 8080 ポートにアクセスするだけで済みます。

: 名前の前に 2 つあり、ポートの前に -p があり、docker.io/nginx はイメージ名、8080 はホストのポート、 80 は Nginx アプリケーションのポートです

ホスト上の 1 つのポートは 1 つのコンテナ ポートにのみマッピングでき、複数のコンテナ ポートを 1 つのホスト ポートに対応させることはできません (コンテナが 1 つのホスト ポートにインストールされている場合) centos のようなシステムでは、コンテナのポートを気軽に設定できますが、コンテナが単なるアプリケーションの場合、コンテナのポートはアプリケーション自体のポートである必要があります)

このようにして、コンテナを作成して起動します。

exit 退出容器

docker ps 查看运行中的容器

docker ps -a  查看运行中和非运行中的所有容器

docker exec -it container_nginx /bin/bash  进入容器

如果容器还未启动 执行docker start container_nginx

コンテナに入ったらNginxを起動

whereis nginx 找Nginx的启动目录

[root@iz2zehzeir87zi8q99krk1z ~]# docker start container_nginx
container_nginx
[root@iz2zehzeir87zi8q99krk1z ~]# docker exec -it container_nginx /bin/bash
root@84683e425116:/# whereis  nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@84683e425116:/#  /usr/sbin/nginx

このとき、ブラウザでhttp://51.110.218.9:8080/にアクセスし、コンテナ内のNginxに直接アクセスします

##アクセスに失敗した場合は、ホストポートのファイアウォールが開いている可能性がありますので、以下のコマンドを実行して閉じてください

/ sbin / iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

Alibaba Cloudサーバーを使用しているため、 , I need to set port 8080 in Alibaba Cloud. Open

コンテナの削除

容器删除之前先将容器停止  

docker stop container_nginx 或者是容器的id

docker rm -f container_nginx  容器删除
docker startの違い#docker run コマンドは、実際には docker create と docker start を組み合わせたものです。最初に docker create を実行してコンテナーを作成し、次に docker start を実行して開始します。

ホスト ファイルとコンテナ ファイルは相互にコピーします

docker start name 启动一个已经创建的容器

docker run 创建并启动一个容器

上記の 2 つのコマンドはホストで実行され、コンテナでは実行できないことに注意してください

docker cp container_nginx:/usr/local/xin.txt  /usr/local/software/   容器向主机复制文件
docker cp /usr/local/xinzhifu.txt  container_nginx:/usr/local/  主机向容器复制文件

这样一个基础的docker容器就创建完了 。。。。。。。。。。。。

反过来大家再看一看docker的容器与镜像的区别  https://www.cnblogs.com/linjiaxin/p/7381421.html

那么其实镜像与容器的本质区别并不大,那么镜像可以生成容器 ,容器是否可以做成镜像呢?

docket commit container_nginx  image_nginx:v1
             
              容器名            自己起一个镜像的名字:版本号

 用当前的容器生成了redis镜像

例如:A、B两台机器都想安装redis,A机器上创建容器并在容器中做好redis的一切配置,让后将这个容器docker commit 成镜像image_redis,B机器也想要安装redis,直接用镜像image_redis创建容器就行了,docker就是做这样一劳永逸的事情。

而且传统方式得在每台机器上安装配置redis非常麻烦

四.镜像的导入与导出

镜像压缩打包 (主机上进行操作),有两种方式 docker save 与 docker load 和 docker export 与 docker import

docker save nginx | gzip > nginx_xin_image.tar.gz  将现有的镜像压缩打包

docker load -i nginx_xin_image.tar.gz  压缩的镜像解压

docker images 进行查看

docker save 是直接将镜像进行打包   docker save ae200a4fe3dac143f803c60eaa5089f4或67269b85a601fdf39c099f2230a27732 

docker export container_nginx> nginx_image.tar  

cat nginx_image.tar | sudo docker import  - nginx_image:import

docker export 是直接将容器进行打包   docker save 0eb63ddf9ae50481033acff196324cc7或90aa09271f219455372ab2a073b1b3fa 

需要注意两种方法配套的,切不可混用。虽然导入导出时没问题,但是在创建容器时候会报错

如果使用import导入save产生的文件,虽然导入不提示错误,但是启动容器时会提示失败,

会出现类似"docker: Error response from daemon: Container command not found or does not exist"的错误。

类似,使用load载入export产生的文件,也会出现问题。

相关推荐:《Linux视频教程

以上がDocker の Linux インストールと Docker の基本操作の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。