docker容器从入门到痴迷(推荐)

2020-06-17 06:58:37易采站长站整理

使用 docker 可以将应用程序及依赖打包在一个文件里(docker 镜像文件),运行这个文件就会启动虚拟服务器,在虚拟服务器启动应用程序或服务,就像在真实在物理机上运行一样,有了 docker,就可以一次部署,处处运行,也可以用于自动化发布。

3. 提供一次性的环境。

比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境,启动或关闭一个虚拟服务器就像启动或关闭一个进程一样简单和快速。

4. 提供弹性的云服务。

因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

5. 组建微服务架构

通过多个容器,一台机器可以跑很多个虚拟服务器,因此在一台机器上就可以模拟出微服务架构,也可以模拟出分布式架构。

3. docker 安装部署与使用

本文介绍 ubuntu 18.04 系统下的安装与使用。其他操作系统请参考官方文档https://docs.docker.com/。

1. 安装 docker 引擎

获取最新版本的 Docker 安装包


aaron@ubuntu:~$ wget -qO- https://get.docker.com/ | sh

执行上述命令,输入当前用户密码,即可自动下载最新版的 docker 安装包,并自动安装。

安装完成后有个提示:


If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

sudo usermod -aG docker aaron

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.


 

当要以非 root 用户可以直接运行 docker 时,需要执行


sudo usermod -aG docker aaron

命令将用户 aaron 添加到 docker 用户组中,然后重新登陆,否则会报下面的错误:


docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

执行下列命令启动 docker 引擎


aaron@ubuntu:~$ sudo service docker start

安装成功后已默认设置开机启动并自动启动,如果要手动设置,执行下面命令:


sudo systemctl enable docker