この記事では、Linux に docker をインストールする方法と 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 が正常にインストールされたことを意味します。非常に簡単です
コンテナの作成はイメージに基づいて行う必要があるので、最初に 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. イメージの作成と管理
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 ACCEPTAlibaba 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容器就创建完了 。。。。。。。。。。。。 反过来大家再看一看docker的容器与镜像的区别 https://www.cnblogs.com/linjiaxin/p/7381421.html 那么其实镜像与容器的本质区别并不大,那么镜像可以生成容器 ,容器是否可以做成镜像呢? 用当前的容器生成了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 是直接将镜像进行打包 docker save ae200a4fe3dac143f803c60eaa5089f4或67269b85a601fdf39c099f2230a27732 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 cp /usr/local/xinzhifu.txt container_nginx:/usr/local/ 主机向容器复制文件docket commit container_nginx image_nginx:v1
容器名 自己起一个镜像的名字:版本号
四.镜像的导入与导出
docker save nginx | gzip > nginx_xin_image.tar.gz 将现有的镜像压缩打包
docker load -i nginx_xin_image.tar.gz 压缩的镜像解压
docker images 进行查看
docker export container_nginx> nginx_image.tar
cat nginx_image.tar | sudo docker import - nginx_image:import
以上がDocker の Linux インストールと Docker の基本操作の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。