Docker中有哪些使用技巧
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍Docker中有哪些使用技巧,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!得到最后执行的容器的ID $ ID=$(docker run ubuntu e
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
如何维护网络安全多选题
单机软件开发用什么工具软件
非关系型数据库只有一张表吗
服务器安全狗cc攻击误封
ui算软件开发
网校在线课堂软件开发需求
安徽大学网络技术中心
服务器安全防护要注意什么
数据库一直还原怎么停止
浏览器访问不了数据库
新sql怎么导入数据库
vnc服务器安装
上市公司绿色专利数据库
网络安全运维事件通报
软件开发前端对电脑的要求
山东广启互联网科技有限公司
网络安全法律法规范文
公安机关网络安全周总结
图章软件开发
绍兴服务器机柜定做报价
软件开发是学什么的
网校在线课堂软件开发需求
民警讲网络安全
abb招聘硕士软件开发工资
我的世界小卖部服务器
端午节视频软件开发
制定网络安全年度计划
支付宝付款码连接服务器失败
英国的软件开发公司名称
金仕达服务器