1.在centos上,提示
permission denied
docker: Error response from daemon: Container command could not be invoked.
可以用下面的命令给docker文件权限
# chcon -t docker_exec_t /usr/bin/docker*
# service docker restart
yum install docker-io # 安装docker
配置文件 /etc/sysconfig/docker
chkconfig docker on # 加入开机启动
service docker start # 启动docker服务
基本信息查看
docker version # 查看docker的版本号,包括客户端、服务端、依赖的Go等
docker info # 查看系统(docker)层面信息,包括管理的images, containers数等
docker pull centos 下载
docker images [ centos ] 查看
docker run -i -t centos /bin/bash
搜索镜像
docker search <image> # 在docker index中搜索image
下载镜像
docker pull <image> # 从docker registry server 中下拉image
查看镜像
docker images: # 列出images
docker images -a # 列出所有的images(包含历史)
docker rmi <image ID>: # 删除一个或多个image
使用镜像创建容器
docker run -i -t sauloal/ubuntu14.04
docker run -i -t sauloal/ubuntu14.04 /bin/bash # 创建一个容器,让其中运行
bash 应用,退出后容器关闭
查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
再次启动容器
docker start/stop/restart <container> #:开启/停止/重启container
docker start [container_id] #:再次运行某个container (包括历史container)
docker attach [container_id] #:连接一个正在运行的container实例(即实例须
为start状态,可以多个窗口同时attach 一个container实例)
docker start -i <container> #:启动一个container并进入交互模式(相当于先
start,在attach)
docker run -i -t <image> /bin/bash #:使用image创建container并进入交互模
式, login shell是/bin/bash
docker run -i -t -p <host_port:contain_port> #:映射 HOST 端口到容器,方便
外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到
一个动态端口。
#注:使用start是启动已经创建过得container,使用run则通过image开启一个新的
container。
删除容器
docker rm <container...> #:删除一个或多个container
docker stop $(docker ps -a -q) #:停止所有的container
docker rm $(docker ps -a -q) #:删除所有的container
docker ps -a -q | xargs docker rm #:同上, 删除所有的container
简介
默认安装完 Docker 后,每次执行 docker 都需要运行 sudo 命令,如果不跟 sudo,直接执行docker images
命令会有如下问题:
FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial
unix /var/run/docker.sock: permission denied. Are you trying to connect
to a TLS-enabled daemon without TLS?
于是考虑如何免 sudo 使用 docker,只要把用户加入 docker 用户组即可,具体用法如下。
如果还没有 docker group 就添加一个:
sudo groupadd docker
将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker
重启 docker 服务
sudo service docker restart
切换当前会话到新 group 或者重启 X 会话