CentOSのインストールドッキングウィンドウ、およびその基本的な操作

CentOSのインストールドッキングウィンドウ、およびその基本的な操作

A.インストールドッカ

ドッカーはCentOSに7、請求項64に記載のシステム、カーネルバージョン3.10で実行するために必要な

1. はuname -an ビュー現在のシステムバージョン

2. yumをドッキングウィンドウのインストール-yダウンロードをしてドッキングウィンドウをインストール

3. サービスのドッキングウィンドウを起動し  、スタート]ドッキングウィンドウのサービス

4. ドッキングウィンドウのバージョンの  インストールが成功したかどうかをチェックドッキングウィンドウ

あなたは以下の図の情報を見ると、非常にシンプルな、ネイティブのドッキングウィンドウが正常にインストールされている表現され 

II。ミラーリング操作

ミラーベースなので、次のドッキングウィンドウの鏡の話でコンテナの操作を作成するには

検索ミラー

ドッキングウィンドウの画像は ユニットかどうかを確認すると、ミラーリングしています

現在、マシンがドッカーハブダウンロードに、ミラーリングされていない(ミラーはまた、ここで詳しく説明しませんが、カスタムすることができます)

ドッキングウィンドウの検索javaのでなく、特定のバージョンのダウンロードを指定し、

たとえば:ドッキングウィンドウはUbuntuの検索:1.2.5.4を、ハブリストドッキングウィンドウ、ミラーの多くを見つけることができます 

ダウンロード画像 

ドッキングウィンドウプルdocker.io/nginxのダウンロード

ダウンロードプロセスを自動的に抽出するので、ミラーよりも大きなローカルドッキングウィンドウのハブを検索するダウンロード、単にダウンロードした画像がミラーのリストを見て

リストは、倉庫名、バージョンラベル、画像ID、作成時間と空間占有が含まれています

ミラーを削除します

RMIドッカー不要なミラーミラーIDを削除します。

III。ミラーリングの作成と管理

前边我们已经下载好了Nginx的镜像,接下来我们就创建一个只有Nginx应用的容器docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器 -t:分配一个虚拟终端 /bin/bash:执行bash脚本,​​​​​​

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

启动一个使用镜像docker.io/nginx,名字container_nginx的容器,-p 8080:80表示将容器的80端口映射到主机的8080端口,这样我们只要访问主机的8080端口就可以访问到容器的服务了。

注意:name前面是两个-, 端口前面有-p, docker.io/nginx是镜像名,8080是主机的端口,80是Nginx应用的端口

主机上的一个端口只能映射一个容器端口,不可以多个容器端口对应一个主机端口(如果容器安装的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

删除容器 

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

docker stop container_nginx 或者是容器的id

docker rm -f container_nginx 容器删除

docker start 与 docker run 的区别

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

docker run 创建并启动一个容器

docker run 命令其实是 docker create 和 docker start 的命令组合,先执行docker create 创建一个容器 再接着docker start启动

主机和容器文件相互复制  

从主机复制到容器 sudo docker cp host_path containerID:container_path

从容器复制到主机 sudo docker cp containerID:container_path host_path
请注意,以上这两个命令都是在主机中执行的,不能再容器中执行

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

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

 

参考资料:https://blog.csdn.net/xinzhifu1/article/details/83579256

 

宿主机访问docker容器

问题描述:初学Docker,主机Windows 10,虚拟机Cent OS7 运行了一个docker容器(Tomcat7),宿主机无法访问容器运行的服务。

  

问题原因:宿主机无法访问docker容器ip。

问题解决:1、虚拟机命令:ifconfig

     查看docker容器的网段、centos的IP地址:

    

    2、管理员身份打开宿主机powershell:执行命令: ROUTE -p add 172.17.0.1 mask 255.255.0.0 192.168.102.129

      Docker容器内部端口映射到外部宿主机端口。

    

    可以ping通容器ip了!

    再次在宿主机中访问:http://172.17.0.1:8080/,又见小橘猫 ~^ _ ^~

  参考资料:https://www.cnblogs.com/hongkejidan/p/10418835.html

 

docker容器无法访问宿主机-No route to host

也表现为docker间通过宿主机IP + 宿主机 端口 通信时报错: No route to host

解决方案1 : (推荐) :

在宿主机上将要访问的端口号添加到 public 的zone 区域:

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --reload

解决方案2 : (不推荐) :

直接关闭防火墙,会引起安全问题。以及docker 查新启动报 iptables no chain 之类的错误.

systemctl stop firewalld

注意: 问题貌似只出现在centos上,所以还是推荐ubuntu 貌似毛病少点。

 

 

 

おすすめ

転載: www.cnblogs.com/wjw1014/p/11936905.html