差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
tech:op:docker:hello-world [2017/03/19 00:25:36]
某喵
tech:op:docker:hello-world [2018/05/10 16:04:53] (当前版本)
行 1: 行 1:
-<​markdown>​+# Docker 初试
  
-### Docker 初试 +## 安装
- +
-#### 安装+
  
 - [Docker 入门](https://​www.gitbook.com/​book/​yeasy/​docker_practice) - [Docker 入门](https://​www.gitbook.com/​book/​yeasy/​docker_practice)
行 13: 行 11:
 sudo usermod -aG docker ${USER} sudo usermod -aG docker ${USER}
 ``` ```
 +加入组之后,需要登出,并重新登录当前用户
  
 最后,指定一下 registry-mirrors 并关闭 docker 对 iptables 的修改: 最后,指定一下 registry-mirrors 并关闭 docker 对 iptables 的修改:
行 24: 行 23:
 ``` ```
  
-#### Tips+## 更新 
 + 
 +``` 
 +sudo apt-get update 
 +apt search docker # 检查 docker-ce 是否有最新版本 
 +sudo apt-get install docker-ce # 备注:安装完成后,所有的 container 都会被自动 stop,需要手动重启 
 +``` 
 + 
 +## docker-enter (out of date,可以用 docker exec 取代) 
 + 
 +- [安装nsenter](https://​gist.github.com/​mbn18/​0d6ff5cb217c36419661) 
 + 
 +``` 
 +# start a container 
 +docker run --name nsenter -it ubuntu:​14.04 bash 
 + 
 +## in the docker 
 +apt-get update 
 +apt-get install git build-essential libncurses5-dev libslang2-dev gettext zlib1g-dev libselinux1-dev debhelper lsb-release pkg-config po-debconf autoconf automake autopoint libtool 
 + 
 +git clone git://​git.kernel.org/​pub/​scm/​utils/​util-linux/​util-linux.git util-linux 
 +cd util-linux/​ 
 + 
 +./​autogen.sh 
 +./configure --without-python --disable-all-programs --enable-nsenter 
 +make 
 + 
 +## from different shell - on the host 
 +docker cp nsenter:/​util-linux/​nsenter /​usr/​local/​bin/​ 
 +docker cp nsenter:/​util-linux/​bash-completion/​nsenter /​etc/​bash_completion.d/​nsenter 
 +``` 
 + 
 +## Tips
  
 - docker container prune - docker container prune
行 31: 行 62:
 这两个命令比较有用,不过不能随便用,它们都会把当前没有运行的 container 清理掉,`system prune` 会导致相关的 volume 也被删掉,容易造成数据被误删除。目前我感觉比较好的实践,还是在临时执行 `docker run` 的时候,加入 `--rm` 参数,这样执行完毕之后,container 及其相关的资源会被自动清理掉,比较 clean。 这两个命令比较有用,不过不能随便用,它们都会把当前没有运行的 container 清理掉,`system prune` 会导致相关的 volume 也被删掉,容易造成数据被误删除。目前我感觉比较好的实践,还是在临时执行 `docker run` 的时候,加入 `--rm` 参数,这样执行完毕之后,container 及其相关的资源会被自动清理掉,比较 clean。
  
-</markdown>​+--- 
 + 
 +目前来说,仅只学会了 docker 基本命令的使用。 
 + 
 +关于 `docker-compose`,尚未找到正确的打开方式。 
 + 
 +目前为了避免数据在 container 被清理后丢失,采用的做法是: 
 + 
 +- 挂载一个主机卷到 container 的 `/backup` 目录 
 +- 将需要持久化的文件夹拷贝到 `/backup` 
 +- 重新启动新的 container ,并通过 `--volume` 的方式,挂载 `/backup` 对应的目录