docker的容器操作
1 Docker容器操作
docker ps # 查看正在运行的容器#########
docker ps –a # 查看所有容器(暂停的,停止,正在运行的。。。)##########
docker ps –l # 查看最后一次运行的容器
docker ps -f status=exited # 查看停止的容器
# 重点:通过镜像创建并运行容器(两步并做一步)
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。容器名字不能重
-v:表示目录映射关系(前者是宿主机目录,后者是容器的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
# -v:数据卷,做目录映射
# -p 网络,做端口映射
# 演示
#基于哪个镜像跑容器:centos:centos7 如果写成centos表示跑最新的
#如果没有这个镜像呢?去远程拉,拉下来再跑
# 容器要运行,需要有一个前台进程
docker run -it --name=mycentos7 centos:centos7 /bin/bash
# 以守护进程形式跑
docker run -di --name=mycentos2_2 centos:centos7
# 进入到容器内部操作容器
1 exec(用的最多):在docker中执行命令
docker exec -it mycentos2_2 /bin/bash
exit 退出
docker exec mycentos2_2 ls
2 attach (当没有)
3 ssh连接(容器要启动ssh服务22端口没有服务在监听)
# 容器的启动与停止
docker stop 容器id/名字
docker start 容器id/名字
docker restart 容器id/名字
# 文件拷贝
# 从宿主机copy到容器内部
docker cp 文件名 mycentos2_2:/home(容器内部路径)
# 从容器内部copy出来
docker cp mycentos2_2:/home/untitled3.tar ./ # ./表示根路径
# 数据卷(目录映射)
docker run -di --name=mycentos2_3 -v /root/test:/home centos:centos7
# 以后操作宿主机目录和操作容器目录会相互影响
# 查看容器信息
docker inspect 容器名字/容器id
# 查看ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器id/名字
# 删除容器
# 得先停止才能删
docker rm 容器名字/id
# 删除镜像,如果有容器,能删除吗?支持,但是不推荐做
自动化运维脚本:人输命令,shell脚本,python:subprocess执行命令
自动化运维平台:web框架,在网页上点点点,就可以完成一些事(宝塔:python2.7+flask做的)
正在运行的容器,启动
# 总结:
docker run -di/-it --name=名字 -v 目录映射,可以有多个 images:tag
docker exec -it 名字 /bin/bash
docker cp
docker stop/start/restart 容器名字
docker rm 容器名字
docker inspect 容器名字
Only you can control your future
You're not alone. You still have family,peopel who care for you and want to save you.
浙公网安备 33010602011771号