赞
踩
service docker start
service docker restart
service docker stop
# 重启服务器自动运行docker
systemctl enable docker
通过docker build DockerFile…
生成镜像
docker push 仓库
# 如何获取:
docker pull 仓库
# 查找:
docker search 仓库
# docker查看有所有的镜像:
docker images
# 查看这个docker的详细信息:
docker inspect xxx
# 删除某个镜像:
docker rmi xxx
从镜像中创建一个容器:
docker run/exec/attach xxx
-it 可视化操作 --name设置容器名字 bash(运行命令行)
-p 映射端口 9000:8080 (将容器里的8080端口 映射到宿主机的9000端口上)
# 暂停某个容器:
docker pause node1
# 开启某个容器:
docker start node1
# 查看所有容器:
docker ps
# 删除某个容器:
docker rm node1
# 通过容器保存成镜像: docker commit # (适用于无状态服务)【谨慎使用】 # 退出时删除容器 docker run --rm xxx # 并且运行如果失败时 也会自动删除容器 # 运行时 当你使用停止时 他会自动删除该容器 # 重启容器策略 # 默认不重启: no # on-failure:3 最多重试3次重启 # always 只要挂了自动重启 # --restart on-failure:3 # 运行时指定环境变量 docker run xxx -p -d -e XXX=xx -e XXX=xx # 查看环境变量的方式 docker inspect xxx # 再容器中运行一个终端 执行env命令 docker exec -it xxx env # 查看容器内的日志 (-f 实时监听日志变化 -n只查看最后20行) docker logs xxx -f -n 20 # 进入容器内部中(使用bash脚本进入xx容器中) docker exec -it nginx01 /bin/bash xxx # 退出容器 exit
打通容器内跟容器外的数据 持久化数据存储 即便容器被删除了。也可以保留(匿名绑定方式除外) 像mysql redis这种需要持久化数据的
可以使用volume达到持久化共享数据匿名绑定:【使用 -v 可以指定对应容器内的共享命令】 如果容器被删除后 对应的匿名容器共享的volume也会被删除
docker run -d --rm -p 80:80 --name nginx01 -v /usr/share/nginx/html nginx
docker inspect xxx
查看Mounts属性 可以看出你是否共享成功数据卷
docker run -d --rm -p 80:80 --name nginx01 -v nginx-html:/usr/share/nginx/html nginx
# 此处的nginx-html就代表具名绑定 不过具名绑定的缺点是无法指定容器外的路径
即便docker被卸载了他也可以存在
把主机的目录共享到容器内的目录
docker run -d --rm -p 80:80 --name nginx01 -v /www/ragga.com:/usr/share/nginx/html nginx
docker volume ls
Docker0 docker的网卡 - docker创建的虚拟网桥 跟主机的网卡平级
容器内网络跟主机网络共享同一个网卡(直接将容器暴露到外网)【不常用】【不安全】
等于是只有容器本地的网络127.0.0.1 没有ip 完全网络隔离
Container算是一种解决方案
不会创建自己的网络空间 与其他容器共享网络空间 直接使用指定容器的ip/端口等
不使用docker自带的网络模式 自己定制化特有的网络模式
容器间的互联指令
–link 在运行时加上(不常用)
** => docker network connect ragga net1
为net1添加一个ragga的网卡
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。