开始Docker使用速成之旅吧
- Docker 速用教程
- 使用命令拉取镜像
- 如何将本地拉取的镜像打包上传到没网的服务器上?
- 开始容器使用之旅吧
- 查看已经安装的镜像
- 找到已经运行的container容器
- 进入已有container容器
- 容器里如何使用容器外的数据
- 删除我们不需要的容器
- Reference
Docker 速用教程
最近在使用Docker,写个简单易懂的文章,希望能帮到别人,快速上手docker。
使用命令拉取镜像
我们可以从DockerHub里获得自己需要的镜像,直接通过命令进行拉取安装。比如下图,使用右下方里的命令docker pull hello-world,就可以把这个镜像拉下来啦,是不是很简单。
如何将本地拉取的镜像打包上传到没网的服务器上?
保存镜像
(如果以上步骤完成完美,可以忽略次条及下一条)
有时候会遇到网不好,或者没网的情况,那么直接用命令拉起镜像变得很难。便可以在别的网好的地方,下好镜像,传到需要的地方。用下面的命令,docker save -o 加上要保存成的镜像名称,后面加上镜像名字,就可以把镜像存下来啦。
| docker save -o ImageFileName.tar ImageName
载入镜像
用docker load 命令将刚刚保存下的镜像,进行导入吧。命令如下:
$ sudo docker load --input ImageFileName.tar
或者可以用到
$ sudo docker load < ImageFileName.tar
开始容器使用之旅吧
查看已经安装的镜像
- docker images可以查看我们已经安装的Image镜像
| docker images
使用例子如下:
在列出信息中,可以看到几个字段信息:
-
来自于哪个仓库,比如 bitxiong/tsn
-
镜像的标记,比如 latest
-
它的 ID 号(唯一)
-
创建时间
-
镜像大小
其中镜像的 ID 唯一标识了镜像
启动Container,开始运行我们的镜像吧
- 使用命令docker run 加上镜像名称,可以运行我们的镜像,产生container。命令如下图所示:
docker run -t -i imageName /bin/bash
使用例子如下:
在这里解释一下’-i’ 和’-t’. ‘-t’是加了tag. 这里加了这两个,可以让我们在terminal里交互式的操作container。可以看到容器里的文件,对其进行操作。
找到已经运行的container容器
使用命令docker ps ,可以看到已经运行的容器,这里CONTAINER ID是唯一的,同一个镜像可以有多个已经运行的容器,用来区别。
| docker ps
使用例子如下:
docker ps -a 可以看到更详细的运行容器情况。
| docker ps -a
使用例子如下:
进入已有container容器
进入已经运行的容器吧。这里就用到了CONTAINER ID,可以唯一表示容器,在docker exec -it 后加上CONTAINER_ID 加上/bin/bash,便可以重新进入容器里拉。
| docker exec -it CONTAINER_ID /bin/bash
使用例子如下:
容器里如何使用容器外的数据
想要在容器里使用容器外的数据,那么就需要让容器找到容器以为的数据路径。这里用到了docker run -v 这个命令,-v 后面加上<(我们想要放到容器里的)宿主机目录>:<容器目录>,这样宿主机目录就会放到容器目录下了,在交互模式里,就可以在容器目录下看到宿主机目录的文件了,是不是很方便啊,没懂的可以看以下例子:
比如,我们想把主机里/root/data/picture里的文件在容器里运行,但是容器和主机是隔离的,我们在容器里找到我们想放这些文件的目录,比如是/app/data下吧,我们就可以用上么的命令,把/root/data/picture 的文件都放到/app/data 里拉。命令例子如下:
docker run -v /root/data/picture:/app/data /bin/bash
删除我们不需要的容器
使用docker rm 加上容器ID便可以删除我们不需要的容器了,当删除不掉的时候,可以加上–force强制删除哦。
删除container
docker rm CONTAINER_ID
强制删除container
docker rm --force CONTAINER_ID
Reference
- https://www.docker.com
- https://docker-curriculum.com/
- https://hub.docker.com