docker容器的使用

使用容器

#从镜像运行实例 并执行命令 -it 开启中断 进行交互是操作  /bin/bash 在centos执行的指令 exit退出bash
docker run -it centos:centos7 /bin/bash
#加参数d后台运行程序 常用的运行方法
docker run -itd centos:centos7 /bin/bash

#查看所有容器
docker ps -a
#启动已停止运行的容器 cdf9d7beccb2容器id
docker start cdf9d7beccb2
#停止正在运行的容器
docker stop cdf9d7beccb2
#从起容器
docker restart cdf9d7beccb2

#进入运行的容器  exit退出后 容器也退出
docker attach 0b8a3b7e793a
#另一种进入运行容器的方法 推荐使用此方法 exit退出后 容器不会退出
docker exec -it 243c32535da7 /bin/bash

#查看容器到宿主机端口映射
docker port cdf9d7beccb2
#查看容器内部标准输出 并且可以查看web访问日志
docker logs -f cdf9d7beccb2
#查看容器内运行的进程
docker top cdf9d7beccb2

设置端口及网络地址

#-P:是容器内部端口随机映射到主机的高端口
docker run -d -P training/webapp python app.py
#-p手动指定映射的端口 容器内部的 5000 端口映射到我们本地主机的 5000 端口上
docker run -d -p 5000:5000 training/webapp python app.py
#可以指定容器绑定的网络地址,比如绑定 127.0.0.1 端口5001 到容器的5000端口
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

docker容器互联

使用network 方法 可以实现多个容器互联 容器加入同一个网络就可以互联

#查看docker网络
docker network ls
#创建一个docker网络 -d:参数指定 Docker 网络类型,有 bridge、overlay test-net为网络名
docker network create -d bridge test-net
#创建容器 并加入到 test-net网络
docker run -itd --name test1 --network test-net centos /bin/bash
#在创建一个 并加入到 test-net网络
docker run -itd --name test2 --network test-net centos /bin/bash
#登录创建的两个centos容器 使用ping命令 就可以发现 他们能互通
ping test2 

容器挂载本地目录

#挂载本地~/nginx/www目录 到容器/usr/share/nginx/html 
#rw模式:宿主主机和docker互相都可以读写同步 缺省值 为此默认模式
#ro模式:创建的时候拷贝宿主机文件 之后就不会改变 类似只读
#--link myphp-fpm:php:添加链接到另一个容器,php是myphp-fpm的别名 相当于这两个名字都是hostname 可以直接访问。意思是把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm
docker run --name runoob-php-nginx -p 8083:80 -d -v ~/nginx/www:/usr/share/nginx/html:ro -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp-fpm:php nginx

容器内编辑文件 例如php,mysql 容器 修改配置文件
默认这些容器里没有vi或者vim 需要手动安装

#更新来源 
apt-get update 
#安装vim 
apt-get install -y vim
#安装ping
apt-get install iputils-ping

附:ps -a 输出信息详解
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
状态为UP启动完成
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称

你可能感兴趣的:(docker容器的使用)