(一)Docker安装与基本使用

介绍

容器的出现,超乎我们程序员的想象,更是对中小型企业在开发部署上的开销带来极小的成本。更有当下的微服务架构演变出来的产品有很多的应用需要部署在多个VM中,可以说Docker是应运而生了。总而言之,Docker就是在一台宿主机上将资源(内存、CPU等)分割成一个个独立的“小盒子”,它们之间都有自己独立的虚拟系统,其实就是一个VM的简易版,里面也是一个Linux的小系统,只有部分命令(吐槽下,居然没有vi~~~~~),每个小VM都有一个虚拟网卡,其实用过KVM的都很容易理解了。

软件准备

  • Ubuntu Artful 17.10
  • Docker CE

安装

确保操作系统中没有安装docker相关的东西,如果有先卸载之。

$ sudo apt-get remove docker docker-engine docker.io

更新Ubuntu的软件源

$ sudo apt-get update

添加Docker的GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

验证Docker的apt-key指纹

$ sudo apt-key fingerprint 0EBFCD88 #一般验证后8位即可

添加docker软件源,再更新软件依赖

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
   # $(lsb_release -cs)替换成你操作系统的别名(在终端执行lsb_release -cs),我这里是artful

安装docker

$ sudo apt-get update
$ sudo apt-get install docker-ce  #sudo apt-get install docker-ce=<VERSION>

使用

sdnware@sdnware-Lenovo-H3050:~$ sudo docker --help
[sudo] password for sdnware: 

Usage:  docker COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/home/sdnware/.docker")
  -D, --debug              Enable debug mode
  ...
  ...

Management Commands:
  config      Manage Docker configs
  container   Manage containers
  ...
  ...

配置国内镜像仓库

$ sudo vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

配置docker远程连接(用于开发打包image时使用)

$ sudo mkdir /etc/systemd/system/docker.service.d
$ sudo vim http-proxy.conf

[Service]

ExecStart=

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 这样,就可以在形如maven的plugin插件中指定响应的docker host了,
# 通过mvn docker:build就能将项目以Dockerfile规则打包成远程docker的image文件。

常用命令

$ sudo docker search xxx                      # 在镜像仓库中查询xxx软件包
$ sudo docker images                          # 查看当前已经下载的image
$ sudo docker pull xxx                        # 下载安装软件镜像
$ sudo docker run --name xx -p 80:8080 -d xxx # 在xx容器中运行xxx软件,将宿主端口80映射到docker中的8080
$ sudo docker ps [-a]                         # 查看docker中运行的软件进程,-a表示正在运行及未运行的所有进程
$ sudo docker stop xx                         # 停止运行的软件进程,xxx可为容器id/names
$ sudo docker restart xx                      # 重启软件进程,xxx可为容器id/names
$ sudo docker rm xx                           # 删除一个软件进程,xx可为容器id/names
$ sudo docker rmi xx                          # 删除一个image,xx为images的REPOSITORY:TAG
...

后记

Docker的应用,不管在开发或线上部署,都是一个非常不错的容器系统,主要它提供了一个镜像仓库,我们可以非常方便的安装我们日常用到的软件,诸如mysql/java/nginx等等,并且还提供自定义镜像发布部署,这样只要一台宿主机,就能部署多个相互隔离的应用系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值