Docker 容器和镜像操做,记录下来!💻🐸html
$ docker run -dit --name ubuntu ubuntu
复制代码
docker exec
命令$ docker exec -it ubuntu bash
复制代码
注意:使用
exit
命令退出在容器内执行命令。linux
& docker inspect ubuntu
复制代码
包括容器的ID、容器名、环境变量、运行命令、主机配置、网络配置等。nginx
使用 -f
参数能够查看用户关心的数据:docker
查看容器运行状态:docker inspect -f='{{.State.Running}}' ubuntu
shell
查看容器ip地址:docker inspect -f='{{.NetworkSettings.IPAddress}}' ubuntu
ubuntu
查看容器名、容器id:docker inspect -f='{{.Name}} {{.ID}}' ubuntu
数组
$ docker top ubuntu
复制代码
export
命令能够导出容器$ docker export nginx > ./docker/nginx.tar
复制代码
该命令将nginx容器导入到docker目录下。bash
import
命令导入容器$ cat nginx.tar | docker import - importednginx:ilatest
复制代码
docker run
再去下载会比较慢,能够先执行docker pull
将镜像先下载下来,再运行。$ docker pull hub.c.163.com/library/nginx:latest
复制代码
$ docker run -itd --name 163nginx -p 80:80 hub.c.163.com/library/nginx:latest
复制代码
docker rmi
$ docker rmi 镜像ID/镜像名
复制代码
有的时候,没法删除一个镜像,大部分缘由是由于该镜像被一个容器所依赖,此时须要先删除容器,而后就能够删除镜像了。微信
commit
命令$ docker commit -m "update index.html" --author='leeyunt' 13af96130e40 leeyunt/nginx:v1
复制代码
命令解释:网络
- 参数
-m
是对建立的该镜像的一个简单描述。--author
表示该镜像的做者。13af96130e40
表示建立镜像所依据的容器的id
。leeyunt/nginx
则表示仓库名,leeyunt
是名称空间,nginx
是镜像名。v1
表示仓库的tag。- 建立完成后,经过
docker images
命令就能够查看到刚刚建立的镜像。- 经过刚刚建立的镜像运行一个容器,访问该容器,发现nginx默认的首页已经发生改变。
FROM nginx
MAINTAINER leeyunt "leeyunt@outlook.com"
RUN echo 'hello docker!'>/usr/share/nginx/html/index.html
COPY ./hello.html /usr/share/nginx/html/
复制代码
解释:
- FROM nginx表示该镜像的构建,以已有的nginx镜像为基础,在该镜像的基础上构建。
- MAINTAINER指令用来声明建立镜像的做者信息以及邮箱信息,这个命令不是必须的。
- RUN指令用来修改镜像,算是使用比较频繁的一个指令了,该指令能够用来安装程序、安装库以及配置应用程序等,一个RUN指令执行会在当前镜像的基础上建立一个新的镜像层,接下来的指令将在这个新的镜像层上执行,RUN语句有两种不一样的形式:shell格式和exec格式。本案例采用的shell格式,shell 格式就像linux命令同样,exec格式则是一个JSON数组,将命令放到数组中便可。在使用RUN命令时,适当的时候能够将多个RUN命令合并成一个,这样能够避免在建立镜像时建立过多的层。
- COPY语句则是将镜像上下文中的hello.html文件拷贝到镜像中。
$ docker build -t leeyunt/nginx:v1 .
复制代码
命令解释:
-t
参数用来指定镜像的命名空间,仓库名以及TAG等信息。- 最后面的
.
是指镜像构建上下文。
docker push
命令$ docker push leeyunt/nginx:v1
复制代码
上传成功后,用户登陆 Docker Hub,就能够看到刚刚的镜像已经上传成功了。
下期学习Docker高级用法。 🐔🐧🐦🐤
欢迎关注我的微信公众号:桃李报春 我的博客:leeyunt.top