docker使用技巧
2016-07-28 23:56
513 查看
环境配置
检查curl包有没有安装which curl
如果curl没有安装的话,则先更新apt源,并安装curl包
apt-get update apt-get install curl apt-get update wget -qO- https://get.docker.com/ | sh
设置当前用户为docker用户组 (解决执行Docker时,每次都要输入sudo,同时输入密码)
# 添加一个新的docker用户组 groupadd docker # 添加当前用户到docker用户组里,注意这里的xxoo为ubuntu server登录用户名 gpasswd -a xxoo docker # 重启Docker后台监护进程 service docker restart # 重启之后,尝试一下,是否生效 docker version #若还未生效,则系统重启,则生效 reboot
启动docker服务
service docker start
常见命
运行测试docker run hello-world
显示本地镜像
docker images
获取镜像
docker pull ubuntu:12.04
创建一个容器,让其运行bash
docker run -t -i ubuntu:12.04 /bin/sh
说明:-i:表示以“交互模式”运行容器 -t:表示容器启动后会进入其命令行
利用DocFile来创建镜像
mkdir sinatra cd sinatra/ touch Dockerfile vim Dockerfile docker build -t="ouruser/sinatra:v2" .
运行容器
docker start [stop| restart] xxx
导出容器
docker ps -a docker save -o ubuntu.tar.gz ubuntu:14.04 *(保存的是所有这个镜像的版本记录,包括一些历史数据.)* docker export pid > ./ubuntu.tar.gz *(导出的是容器当前所用的镜像内容)*
导入容器
docker load < /tmp/mynewimage.tar *(docker save 的逆操作)* cat ubuntu.tar | docker import - test/ubuntu:v1.0 *( export 的逆操作)*
删除容器
docker stop xxx docker rm xxx
docker 的文件是放在 /var/lib/docker/containers/ 中的。
保存镜像
docker commit xxx abc
这里保存成一个名叫 abc 的镜像,镜像名称中只允许出现小写字母和数字。
删除镜像
docker rmi abc
获取镜像历史
docker history abc docker images --tree *(查看所有镜像的历史过程)*
只能对本地存在的 docker 镜像执行这个命令
docker kill
docker kill container
杀死一个或多个指定容器进程。-s “KILL” 自定义发送至容器的信号。
docker top
docker top container
查看一个正在运行容器进程,支持 ps 命令参数
docker pause
docker pause container
暂停某一容器的所有进程。
docker unpause
docker unpause container
恢复某一容器的所有进程
docker tag
docker tag image name
标记本地镜像,将其归入某一仓库。-f 覆盖已有标记。
docker logs
docker logs container
获取容器运行时的输出日志。
docker attach
docker run -itd ubuntu:14.04 /bin/bash docker attach 44fc0f0582d9
docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。
docker exec
docker exec -i name /bin/sh
只用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令
返回值都可以正确获取。
docker exec -it name /bin/sh
使用-it时,则和我们平常操作console界面类似。而且也不会像attach方式因为退出,导致整个容器退出。
docker exec -t name /bin/sh
如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin的输出,无法看到命令执行情况。
docker exec -d name /bin/sh a.sh
在后台执行一个进程。可以看出,如果一个命令需要长时间进程,使用-d参数会很快返回。程序在后台运行。
docker inspect
docker inspect 465c60612e5c
可以分层级显示一个镜像或容器的信息
安装常见容器
dockeruidocker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
gitlib
https://hub.docker.com/r/sameersbn/gitlab/ http://www.tuicool.com/articles/bYbi2mJ[/code]
mysqldocker search mysql docker pull mysql docker run --name xmysql-db -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v /data/mysql_data/:/var/lib/mysql mysql
mongodbdocker pull mongo docker run --name xmongo-db -p 27018:27017 -v /data/my_mongo_data:/data/db -d mongo
jenkinsdocker pull jenkins chown 1000 /data/jenkins_data/ docker run --name xjenkins -d -p 9000:8080 -p 50000:50000 -v /data/jenkins_data:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -d jenkins
elasticsearchdocker pull elasticsearch docker run --name xelastic-search -d -p 9200:9200 -p 9300:9300 -v /data/esdata:/usr/share/elasticsearch/data elasticsearch
tomcatdocker pull tomcat docker run --name xtomcat -d -v /data/tomcat/webapps/:/usr/local/tomcat/webapps/ -p 8080:8080 -p 9001:9000 tomcat:8
相关文章推荐
- 在CentOS 7上安装Docker环境
- Docker1.12 + Swarm 构建动态微服务应用
- Docker DockerFile指令
- Docker镜像与仓库
- Docker容器
- Docker的安装与部署
- Docker介绍与简介
- kubernetes 1.3 的安装和集群环境部署
- [Kubernetes]Docker的网络模型
- Docker 与 PAAS
- jenkins和docker 使用docker作为slave
- Docker容器学习梳理--日常操作总结
- docker 端口映射不成功。解决方法
- docker下centos7 systemctl启动报错 docker Failed to get D-Bus connection 报错
- Docker系列之(三):Docker微容器Alpine Linux
- New technique about Docker
- 在 docker中 运行 mono /jexus server 并部署asp.net mvc站点
- Docker(1)——Docker快速入门
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用