前言
Docker之前用过几次,现在需要重新拿出来巩固一遍了,因为经验不足没有用太多,所以Docker相关暂时就放在这一篇文章里吧。系统是Deepin,其实和ubuntu很像。使用过程中也有一些问题,有的解决了有的还没有,记录。
目录
-
Docker基本操作
-
Docker相关知识
-
使用Docker遇到的问题
一、Docker基本命令
这里只列出本人操作过的命令,和操作过的相应的option,每个命令有好多option不一一记录,如果有特殊的会单提出来。
docker version —— 查看docker版本
docker info —— 查看docker系统信息,包括image和container的相关信息
docker pull [options] name —— 获取image option: -a 拉取仓库中所有name镜像
docker build [options] PATH | URL | —— 创建image option较多不细说
docker images [options] [repository] —— 列出本地image option: -a 列出所有; -f 显示满足条件的; -q 只显示id
docker run [options] image [command] —— 运行container optoin: -p 映射端口; -d后台运行; run的选项很多不列举
docker ps [options[ —— 列出container option: -a 所有; -f 条件过滤; -l 只列出最近创建的
docker rm [options] container —— 删除container option: -f 强制; -l 只移除网络连接
docker rmi [options] imagename... —— 删除相应image option: -f 强制删除
docker cp HostPath containerID+path —— 在host和container之间拷贝
docker commit [options] container —— 保存改动为新的image option: -m 提交说明; -p 提交时暂停container
docker search [options] imagename —— 在仓库中查找image option: -s 列出不少于s个
docker inspect [options] imagename —— 获取容器内元数据 optoin: -s 显示总文件大小
docker exec [options] container —— 在运行的容器内执行命令 option: -i 保持stdin打开; -d 后台执行; -t 分配伪终端
docker create [options] image [cmd] —— 创建新容器不启动
二、Docker相关知识
1. Dockerfile相关
a. 语法
FROM base image
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露端口
2. Volume相关
volume提供独立于容器之外的持久化存储
3. Registry相关
镜像仓库
三、使用Docker遇到的问题
1. docker刚下载下来需要用sudo权限使用
这个其实算是一种保护措施吧,去查看权限发现docker是660,其他用户没有权限,要做的就是把自己的用户添加到docker用户组里
查看docker用户组 sudo cat /etc/group | grep docker
把用户加入用户组 sudo usermod -aG docker yourname
添加之后退出重新登录就可以了(这是网上的说法,我的系统是deepin发现并没有用,重启后才好)
2. docker search image出现错误
大部分人通过创建/etc/docker/daemon.json, 添加https://registry.docker-cn.com国内镜像仓库,重启服务可以解决,但是很不幸,我并没有解决。
因为之前在实验室我没有遇到这个问题,所以我把网络换成了校园网又重新search
果然校园网可以(有代理??),又修改过/etc/sysconfig/docker也不行。暂时没有解决。
记录每天解决的小问题,积累起来去解决大问题。