Docker中有哪些使用技巧
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章主要介绍Docker中有哪些使用技巧,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!得到最后执行的容器的ID $ ID=$(docker run ubuntu e
千家信息网最后更新 2025年02月06日Docker中有哪些使用技巧
这篇文章主要介绍Docker中有哪些使用技巧,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
得到最后执行的容器的ID
$ ID=$(docker run ubuntu echo hello world) hello world $ docker commit $ID helloword
如果这样觉得麻烦,你可以这样:
$ alias dl='docker ps -l -q' $ docker run ubuntu echo hello word hello world $ dl 1904cf045887 $ docker commit `dl` helloworld fd08a884dc79
尝试在shell制作Docker镜像
$ docker run -i -t ubuntu bash root@db0c3978af8:/# apt-get install postgresql root@db0c3978af8:/# exit $ docker commit -run='{"Cmd":["postgres","-too -many -opts"]}' `dl` postgres 507611232efc0
去除sudo
# 添加docker组 $ sudo groupadd docker # 将自己添加到组中 $ sudo gpasswd -a myusername docker # 重启Docker守护进程 $ sudo service docker restart # 退出,再登录 $ exit
删除所有已经停止的容器
$ docker rm $(docker ps -a -q)
转化docker inspect输出
$ docker inspect `dl` | grep IPAddress | cut -d '"' -f 4 172.17.0.52 $ docker inspect `dl1` | jq -r '.[0].NetworkSettings.IPAddress' 172.17.0.52
查看镜像内的环境变量有哪些
$ docker run ubuntu env HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin container=lxc HOSTNAME=5e150b7fef22
RUN 与 CMD的区别
FROM ubuntu # 执行docker build时会执行下面这些: RUN apt-get update RUN apt-get install softwres # 执行docker run时会执行默认执行: CMD ["softwares"]
CMD 与ENTRYPOINT的区别
$ cat Dockerfile FROM ubuntu CMD ["echo"] $ coker run imagename echo hello hello $ cat Dockerfile FROM ubuntu ENTRYPOINT ["echo"] $ coker run imagename echo hello echo hello
查看Docker容器的IP
$ ip -4 -o addr show eth0 2: eth0 inet 10.108.1.107/24 brd 10.108.1.255 scope global eth0 $ docker run ubuntu ip -4 -o addr show eth0 83: eth0 inet 172.17.0.4/16 scope global eth0
Docker构架:薄CLI客户端,建立在UNIX socket上的提供REST服务的守护进程
#像HTTP客户端一样连接并使用UNIX socket $ nc -U //var/run/docker.sock GET /images/json HTTP/1.1
注:我执行这条命令,没见反应。不知道为什么。
以图像的方式查看你的镜像的依赖
$ docker images -viz | dot -Tpng -o docker.png $ python -m SimpleHTTPServer #打开浏览器 # http://machinename:8000/docker.png
注:个人不是很明白这里
Docker的东西到底存在哪里?
$ sudo su # cd /var/lib/docker # ls -F containers/ graph/ repositories volumes/
graph下存的是镜像,而文件系统存在
graph/imagesid/layer
Docker源码
commands.go 负责命令行客户端
api.go REST API路由
server.go 一个REST API的实现
buildfile.go Dockerfile的解析器
不要在你的Dockerfile中的RUN指令中执行守护进程
$ cat Dockerfile FROM ubuntu:12.04 MAINTAINER Brian Morearty .. RUN pg_ctl start ... $ docker run -i -t postgresimage bash root@4432fe2dd3:/# ps aux # Doesn't show postgres daemon
注:事实上,可以这样执行
RUN pg_ctl start &
容器之间的通信 # 执行一个容器,并分配一个名字给它 $ docker run -d -name loldb loldbimage
# 执行第二个容器,并连接上第一个容器,同时使用别名 $ docker run -link /loldb:cheez otherimage env CHEEZ_PORT=tcp://172.17.0.8:6379 CHEEZ_PORT_1337_TCP=tcp://172.17.0.8:6379 CHEEZ_PORT_1337_TCP_ADDR=172.17.0.12 CHEEZ_PORT_1337_TCP_PORT=6379 CHEEZ_PORT_1337_TCP_PROTO=tcp
注:我不是很明白显示的那些env是什么意思。
以上是"Docker中有哪些使用技巧"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
容器
镜像
客户
客户端
进程
使用技巧
技巧
内容
命令
篇文章
东西
个人
之间
事实
事实上
价值
兴趣
别名
变量
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江工业大学网络安全实验室
《危害网络安全 的处罚
e-mobile 服务器
郑州正规软件开发定制
年末回顾数据库
网络安全员岗位的介绍
服务器运行年限国家标准
佛山软件开发工资指导价位
网络安全专业和软件专业
兵员数据库
intouch数据库
软件开发设计纲要
吉林省长春市网络安全
杀戮空间2服务器管理
数据库如何设置性别约束
关于房屋租赁系统的数据库分析
沧州工业大型服务器多少钱
寄递行业网络安全法宣传
网络安全等级保护主要标准
中国p2p网络技术
软件开发的基本职能不包括
晨辉网络技术
e-mobile 服务器
知网数据库导航有几种
3d软件开发设计
软件开发设计纲要
百度贴吧群发软件开发程序设计
软件开发自学方法
数据库如何设置性别约束
服务器log日志