docker初步
docker安装
作为一个对电脑稍有了解的人,我认为docker安装并没有什么难度。毕竟,都上Ubuntu了,还找什么软件,直接sudo apt install docker
不就万事大吉了吗?
然而我把事情想的太简单了,Ubuntu仓库里竟然有个不知道从哪来的docker 包,描述是:
System tray for KDE3/GNOME2 docklet applications
度娘后才知道,真正的docker在仓库里的包名是docker.io 。。。
无奈只好卸载重装:
sudo apt remove docker
sudo apt install docker.io
docker概念
- 镜像/容器:镜像就像是模板,容器就是模板的具体化
- 仓库:存放镜像的地方,docker hub就是官方的镜像仓库
- 标签(tag):仓库中用以区分镜像
- 镜像名:由仓库名和标签组成,以 : 分隔
- 仓库名:仓库名中可能包括 / 等字符,用以表明个人或组织身份
- 这个名称概念好像有点乱,但这不重要,反正命名格式类似于 me/example:define_tag
docker初步命令
- docker help :显示帮助信息
- docker search repo:tag :搜索镜像
- docker pull repo:tag :拉取镜像
- docker images :列出所有镜像
- **docker ps ** :列出正在运行的容器
- docker rm id :删除指定id容器
- docker run -args repo:tag command :运行容器
- --name:指定容器名字,若不选此项,则名字将由docker随机制定
- -i -t :一起使用可使容器进入交互模式,当command指定为/bin/bash时,运行容器并进入容器的bash(在需要调整容器时有用)
- -d :在后台运行,返回容器id
- -P :由docker指定映射端口,
- -p url:本地端口:容器端口:自定义端口映射
- -v 本机目录:容器目录:把本地的目录挂载到容器中(帮助文档中参数类型写的是list,应该是可挂载多个)
- -w 路径:指定容器的工作目录
- docker create -args repo:tag command :创建容器,但是不运行,参数与
run
相似 - docker start id :启动容器
- docker stop id :停止容器
- **docker kill id ** :强制停止容器
- docker attach id :附着到一个运行的容器上,查看输出
- docker commit -args 容器id repo:tag:把容器变成新镜像
- -a:添加作者
- -m:添加描述
- docker logs id :查看容器的输出
- docker CMD --help :进一步的详细帮助信息
docker注意事项
-
使用过的容器docker不会帮你自动删除,虽然这才正常,但有一些一次性的容器就要手工删除了
-
查看所有容器
sudo docker ps -a
-
删除容器
sudo docker rm id
-
-
docker命令每次都要带上
sudo