![](https://source.unsplash.com/random/1680x200) >### 介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成: 1. docker Client客户端 2. Docker Daemon守护进程 3. Docker Image镜像 4. Docker Container容器 >### 安装 1,卸载旧版本docker。全新安装时,无需执行该步骤`$ sudo apt-get remove docker docker-engine docker.io ` 2,更新系统软件`$ sudo apt-get update ` 3,安装依赖包 ``` $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common ``` 4,添加官方密钥。执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代-理进行。 ``` $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 显示OK,表示添加成功. 5,添加仓库 ``` $ sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable" ``` *使用中科大镜像源安装* 6,再次更新软件。经实践,这一步不能够省略,我们需要再次把软件更新到最新,否则下一步有可能会报错。 ``` $ sudo apt-get update ``` 7,安装docker 如果想指定安装某一版本,可使用 sudo apt-get install docker-ce=<VERSION> 命令,把<VERSION>替换为具体版本即可。 ~~以下命令没有指定版本,默认就会安装最新版`$ sudo apt-get install docker-ce `(不推荐)~~ 在生产系统中,您应该安装特定版本的 Docker CE,而不是始终使用最新版本。此输出将被截断。列出可用版本。 ``` $ apt-cache madison docker-ce docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages ... ``` **推荐安装(指定版本):** `sudo apt-get install docker-ce=5:18.09.4~3-0~ubuntu-xenial` 8,如果您想将Docker用作非root用户,您现在应该考虑将您的用户添加到`“docker”`组,例如: ``` sudo usermod -aG docker your-user ``` > 例如为当前登录用户 www : `sudo usermod -aG docker www` >[info] 以上命令说明:增加`www`用户的额外组`docker`,`www`用户除了拥有自己的`www`组之外,还多了一个额外组`docker`。注意:`-G`要和`-a, --append`一起使用。否则如果只是用`-G`,那是改变用户的基本组。 9、安装证书 ``` docker run --rm -it -v "D:\Git\docker-lnmp\development\nginx\v6\etc\letsencrypt":/acme.sh \ -e Ali_Key="LTAInNlMZSZIvWno" -e Ali_Secret="zLzefTpuQsbFukZGR1q8e7TxwEwdRA" neilpang/acme.sh --issue --dns dns_ali \ -d tinywan.top -d *.tinywan.top -d *.frps.tinywan.top ``` 10、设置开机自启动并启动 Docker-ce `sudo systemctl enable docker` >### Ubuntu 18.04.2 版本安装注意要点 **~~注意要点,千万不要使直接安装 `sudo apt-get install docker-ce`~~** 1、查看服务器版本 ``` $ cat /etc/issue Ubuntu 18.04.2 LTS \n \l ``` 2、查看Ubuntu发行版的名称,官方文档说明:[https://docs.docker.com/install/linux/docker-ce/ubuntu/](https://docs.docker.com/install/linux/docker-ce/ubuntu/) ``` $ lsb_release -cs bionic ``` 3、列出`Ubuntu 18.04.2`的仓库中可用的版本: ``` $ apt-cache madison docker-ce docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages .... ``` 4、安装指定的版本(这里为最新版本) ``` $ sudo apt-get install docker-ce=5:18.09.4~3-0~ubuntu-bionic ``` 选择一个发行版的名称`bionic ` 来进行安装 >### 遇到的错误 ubuntu16.04 安装完docker后在docker-compose.yml文件所在目录执行 ``` $ docker-compose up -d ``` 报错 ``` ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running? If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable. ``` 解决方式:将当前用户加入docker组 ``` sudo gpasswd -a ${USER} docker ``` 然后退出当前用户比如切换为root,再次切换为jing。然后执行docker-compose up -d就ok了。 >### 创建一个以后台模式运行不间断的容器 ``` docker run --rm --name centos01 centos sh -c "while true;do echo hello world;sleep 2;done" ``` > `docker exec `表示在一个运行的`container`中执行命令 >### 测试应该ubuntu镜像 拉取镜像 ``` $ docker pull ubuntu:18.04 ``` 查看镜像 ``` $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 18.04 93fd78260bd1 4 weeks ago 86.2MB ``` 创建一个新的容器并运行一个命令 ``` $ winpty docker run -it ubuntu:18.04 root@3c9eb23eee20:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@3c9eb23eee20:/# cat /etc/issue Ubuntu 18.04.1 LTS \n \l ``` > `-i`: 以交互模式运行容器,通常与 -t 同时使用; > `-t`: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; >` --name="nginx-lb"`: 为容器指定一个名称; > > 进入容器后查看容器系统版本 `cat /etc/issue ` >### 代码 /usr/src:系统级的源码目录。 /usr/local/src:用户级的源码目录