美文网首页
Docker的基本用法

Docker的基本用法

作者: xiaoyu2012 | 来源:发表于2019-05-17 09:57 被阅读0次

docker ps
docker image ls
docker container ls
docker history ubuntu:latest
docker run -it -p 8000:8000 yhyang/andt_pro:dev_v1
docker exec -it 3d780bd64783 /bin/bash

docker ps -a | grep "Exited" | awk '{print 1 }'|xargs docker stop docker ps -a | grep "Exited" | awk '{print1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi

  • docker rm $(docker ps --all -q -f status=exited)

build ant-design-pro的开发环境

docker build -t yhyang/andt_pro:dev_v1 . -f Dockerfile.dev

从镜像,新建一个container:
#docker create --name extract antdesign/ant-design-pro
257542f7d1da69882dfae31a184045a9ddba7cdd8e50e527e0359e40cfc538b0
查看所有的containers:
#docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
257542f7d1da antdesign/ant-design-pro "nginx -g 'daemon of…" 6 minutes ago Created extract
1bc8a28db815 antdesign/ant-design-pro "nginx -g 'daemon of…" 12 hours ago Exited (0) 12 hours ago competent_elion
abf162888509 antdesign/ant-design-pro "nginx -g 'daemon of…" 12 hours ago Exited (0) 12 hours ago reverent_pasteur
0c9df62dac7f ubuntu "cat /etc/os-release" 15 hours ago Exited (0) 15 hours ago frosty_murdock

1. dokcer,没有后台进程的概念,都是以前台程序的方式启动的。

对于容器而言,其启动程序就是容器应用进程,容器就是为了主进程而存在的,主进程退出,容器就失去了存在的意义,从而退出,其它辅助进程不是它需要关心的东西。

正确的做法是直接执行 nginx 可执行文件,并且要求以前台形式运行。比如:
CMD ["nginx", "-g", "daemon off;"]

2. 将镜像打包成本地文件

docker save antdesign/ant-design-pro -o antd_pro.tar
docker save antdesign/ant-design-pro | gzip > antd_pro.tar.gz

3. 解压镜像文件

docker load -i antd_pro.tar.gz

总结一下docker save和docker export的区别:
  1. docker save保存的是镜像(image),docker export保存的是容器(container);
  2. docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
  3. docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

3. 运行一个容器

$ docker run -t -i ubuntu:18.04 /bin/bash
root@af8bae53bdd3:/#

其中, -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入
上, -i 则让容器的标准输入保持打开。

4.导出容器快照

$ docker export 3d3ed269ddbd > ubuntu.tar

5.导入容器快照

$ cat ubuntu.tar | docker import - test/ubuntu:v1.0

$ docker image ls

注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

6. Volume

docker volume create ubuntu_lun001
docker volume ls
docker volume inspect ubuntu_lun001
docker volume rm ubuntu_lun001

7.将volume挂载的容器

$ docker run -d -P
--name web
# -v my-vol:/wepapp
--mount source=ubuntu_lun001,target=/webapp
antdesign/ant-design-pro

8. 挂载本机的本地目录

docker run -d -P
--name web
# -v /src/webapp:/opt/webapp
--mount type=bind,source=/src/webapp,target=/opt/webapp
training/webapp
python app.py

9. 查找删除None的inamge

docker images -f "dangling=true"
docker rmi $(docker images -f "dangling=true" -q)

docker images | grep none | awk '{print $3}' | xargs docker rmi

10. 删除Exit的容器

docker ps -a | grep "Exited" | awk '{print 1}' | xargs docker stop docker ps -a | grep "Exited" | awk '{print1}' | xargs docker rm

相关文章

  • Docker 基本用法

    Docker 参考 极客学院Wiki:Docker入门基础教程 Gitbook:Docker —— 从入门到实践 ...

  • Docker基本用法

    1. Docker守护进程管理 2. 镜像管理(本文使用的是来自阿里云仓库的Apache镜像) 修改标签,由于...

  • docker基本用法

    操作系统:ubuntu 16.04联合文件系统:?????? sudo docker search ubuntu ...

  • Docker基本用法

    1. Docker一些基础的概念 1.1 docker与传统虚拟化的区别可以通过下面两幅图很直观的看出传统虚拟机技...

  • docker基本用法

    title: docker基本使用tags: 学习笔记 docker linux 以下的命令有的需要root权限,...

  • Docker的基本用法

    docker psdocker image lsdocker container lsdocker history...

  • docker命令基本用法

    描述命令启动docker服务systemctl start docker搜索docker镜像docker sear...

  • docker swarm基本用法

    docker swarm背景介绍 Docker Swarm是一个Dockerized化的分布式应用程序的本地集群,...

  • Docker Machine 详解

    笔者在《Docker Machine 简介》一文中简单介绍了 Docker Machine 及其基本用法,但是忽略...

  • docker部署nginx

    本文将通过如何在docker中添加Nginx镜像为例,说明docker的基本用法 1. 下载nginx镜像 2. ...

网友评论

      本文标题:Docker的基本用法

      本文链接:https://www.haomeiwen.com/subject/vqswdqtx.html