docker 安装: http://blog.csdn.net/mickjoust/article/details/51578629
安装完成后,需要root 用户才可以运行 docker 的相关命令,通过以下方式可以把当前用户加入到 docker 组中,使其也有权限运行 docker 命令
sudo groupadd docker #添加docker用户组,如果存在,则不需要新建
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
docker 中的两个概念: container(容器) 和 image (镜像)。image是一个包含了运行程序所需要的所有元素的可执行包。container 是运行时的一个image的实例。
https://hub.docker.com/ #查找镜像
docker pull redis # 下载 redis 这个镜像
docker images # 列出本地所有的镜像
docker inspect redis # 查看 redis 这个镜像的详细信息
docker rmi image-id # 删除某个镜像
docker rmi $(docker images -q) #删除所有镜像
docker run --name testRedis -d redis # 以镜像名为 redis 的镜像运行一个自定义名为 testRedis 的容器, -d 表示以后台运行,即运行完命令后会返回到控制台。此时会在控制台给出一个字符串,这是启动的这个container 的 ID。
docker ps -a # 查看所有容器,去掉 -a 表示只查看正在运行的容器
docker container ls -a # 同 docker ps -a
docker stop testRedis # 停止刚才启动的 testRedis 这个容器
docker stop $(docker ps -a -q) # 停止所有运行中的容器
docker start testRedis # 启动 testRedis 这个容器
docker run -d -p 6378:6379 --name portRedis redis # 把容器中运行的 redis 的端口(6379)映射到机器的6378端口。因为docker 容器中运行的软件的端口是不能直接访问的。
docker container rm testRedis # 删除 testRedis 这个容器
docker container rm $(docker container ls -a -q) # 删除所有容器,运行中的容器不能被删除
docker exec -it portRedis bash # 运行中的容器是一个功能完善的 linux 系统,运行此命令即可进入运行中的容器所代表的操作系统。使用 exit 退出容器
docker run -p 80:80 --name web -i -t tomcat /bin/bash #以tomcat 这个 image 启动一个名为 web 的容器,并进入此容器的操作系统。
在容器的操作系统提示符下,按 Ctrl+p 再按Ctrl+q 可以退出容器的操作系统,也可以输入 exit 命令退出。
docker attach <container_id> # 也可以进入一个正在运行中的容器
docker logs -tf --tail 0 <运行中的容器名> # 查看日志 -t 表示时间戳 --tail 0 表示显示最新的日志
docker tag <image> <username>/<repository>:<tag> # 为某个image打一个tag。如: docker tag c5355f8853e4 zonghsh/redis:myredis
docker push <username>/<repository>:<tag> # 上传自定义的 image
docker commit -a <author> -m <comments> <container> <REPOSITORY>:<TAG> # 基于容器的当前状态生成一个镜像。例: docker commit -a 'zonghsh' -m 'mytest' portRedis redis:myRedis
docker info # 查看 docker 镜像存储目录等信息
另外: docker pull 镜像名, 这个命令很慢很慢,需要设置一个下载的镜像。
1. 去 https://www.daocloud.io 上注册一个帐号
2. 注册登陆后, 按照 https://www.daocloud.io/mirror#accelerator-doc 里的说明配置一下后,速度就快了。
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
也可以编辑 /etc/docker/daemon.json 这个文件,加入下面的内容
{ "registry-mirrors":["https://registry.docker-cn.com"] }