首页 > 技术文章 > docker 基本命令

langfanyun 2018-04-09 21:54 原文

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"]
}

 https://fl791z1h.mirror.aliyuncs.com

推荐阅读