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安全错误
数据库的锁怎样保障安全
联通服务器怎么调信号
马洛加尔服务器
瑞幸咖啡数据库
物联网信息网络技术
vpn服务器功能
蜗牛软件开发靠谱吗
幼儿起名软件开发
python要用数据库吗
北京德惠众合软件开发
软件开发过程的时间比例
数据库安全属于计算机安全吗
数据库逻辑需求
cf云服务器
广州室内服务器机柜零售商
网络安全漫画手绘图片
图书数据库销售
网络安全法自2017
跨平台应用什么软件开发
武汉商学院服务器地址
数据库转移到互联网
校园网络安全管理措施实施方案
mongodb删除数据库
如何设置虚拟服务器教程视频
智能档案柜软件开发
考勤机怎样设置云服务器地址
怎么编译运行shttpd服务器
河北英雄联盟服务器云空间
珠海自主可控软件开发价格走势
前端和后端和数据库
已备份数据导入另一个数据库