Docker常用命令
1 帮助命令
docker version
docker info
docker -help
2 镜像命令
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 | 去docker hub上检索镜像,如镜像的tag |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 列出本地主机上的镜像 |
删除 | docker rmi 镜像id docker rmi 镜像名:tag | 删除指定的本地镜像 |
3 容器命令
操作 | 命令 | 说明 |
---|---|---|
新建并启动容器 | docker run -d --name my-nginx -p 8888:80 -v /root/nginx:/var/log/nginx 容器名:tag | –name:自定义容器名 -d:守护式进程运行 image-name:指定镜像模板 -p:主机端口(映射到)容器内部的端口 -it:交互模式,后常加/bin/bash -v:文件系统映射,将宿主的某个目录映射到容器内的某个目录 |
列表 | docker ps -a | -a:all |
停止 | docker stop container-name/container-id | 停止容器 |
启动 | docker start container-name/container-id | 启动容器 |
删除 | docker rm 容器id | 删除容器 |
容器日志 | docker logs -f -t --tail 容器ID | -t 是加入时间戳 -f 跟随最新的日志打印 --tail 数字 显示最后多少条 |
查看容器内部细节 | docker inspect container-name/container-id | |
在运行的容器中执行命令 | docker exec -it containerId /bin/bash doker exec containerId 命令(eg:java -version) | 注意:进入后查看用cat,不能用vim |
从容器内拷贝文件到主机上 | docker cp 容器ID:容器内路径 目的主机路径 |
注意:本地搭建虚拟机环境时端口测试时可能由于防火墙问题不能访问
service firewalld status 查看防火墙状态
service firewalld stop 关闭防火墙
查看容器日志,mysql容器创建时没有指定初始值密码会报如下错,此时查看容器日志可以分析得到
[root@localhost local]# docker logs 84c3f5077053
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
docker logs containerId
安装jenkins时,由于挂载目录卷用户为root,而jenkins用户为jenkins会出现如下错误
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
解决方案:sudo chown -R 1000 绝对路径