Ubuntu16.04 安装Docker

Ubuntu 安装Docker

1.Ubuntu版本

Unbutu系统上安装Docker服务,为保证docker服务的运行未定,需要使用与之相匹配的docker版本,使用命令

ubuntu@ubuntu-virtual-machine:~$ lsb_release -a
来查看版本,可以看到版本详细信息如下:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial

2.安装

2.1使用官方安装脚本自动安装

使用如下命令安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令

curl -sSL https://get.daocloud.io/docker | sh

安装完成后,使用如下命令,可以查看当前安装的docker版本信息:

ubuntu@ubuntu-virtual-machine:~$ sudo docker --version
Docker version 19.03.13, build 4484c46d9d

或使用如下命令查看docker详细信息:

ubuntu@ubuntu-virtual-machine:~$ sudo docker info
Client:
 Debug Mode: false

Server:
 Containers: 3
  Running: 1
  Paused: 0
  Stopped: 2
 Images: 5
 Server Version: 19.03.13
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-123-generic
 Operating System: Ubuntu 16.04.7 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 1.861GiB
 Name: ubuntu-virtual-machine
 ID: JOA7:I72U:METR:BS3A:7PRS:5XIN:RUPY:ELFD:UIDI:VQ77:LV5A:63MZ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8

若看到上述信息,表明docker安装成功!

3.卸载

4. 镜像加速

4.1 添加镜像代理

默认情况下,docker从hub上下载需要安装的进行,囿于这些hub位于国外,下载速度缓慢,耗时较长,为提升下载速度,可以使用国内代理源,使用如下命令修改:

sudo vim /etc/docker/daemon.json

在daemon.json中添加内容:

{ 
 "registry-mirrors": [
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
    "https://docker.mirrors.ustc.edu.cn/",
    "http://hub-mirror.c.163.com",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com",
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://registry.docker-cn.com"
  ],
   "live-restore": true,
    "data-root": "/home/centos7/SoftWare/Docker/Data"

}

添加后,执行命令:

 sudo  systemctl restart docker

使用命令

sudo docker info

可以查看到下列信息时,表明加速代理设置成功。

Registry Mirrors:
  https://docker.mirrors.ustc.edu.cn/
  https://hub-mirror.c.163.com/
  https://registry.docker-cn.com/
  https://dockerhub.azk8s.cn/
  https://reg-mirror.qiniu.com/
 Live Restore Enabled: true

此时,拉取tomcat镜像时,速度明显加快

sudo docker pull tomcat

4.2 添加网络代理

某些情况下docker 获取镜像需要访问外网,因安全机制,存在使用代理服务器的情况,设置如下
新建文件http-proxy.conf

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

添加内容

[Service]
Environment="HTTP_PROXY=http://192.168.0.101:10081" # http代理
Environment="HTTPS_PROXY=http://192.168.0.101:10081" # https代理
#Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.example.com,.corp"  # 不需要走代理的地址

保存 重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

5.运行镜像

5.1 启动

使用命令可以在后台运行一个docker镜像:

sudo docker run -d -p 8086:8086 --name myinfluxdb influxdb

其中: -d 表示在后台运行

​ -p 表示宿主主机端口:docker容器内端口

​ -name 表示在宿主主机上运行的docker镜像名称

5.2 查看运行的docker镜像

ubuntu@ubuntu-virtual-machine:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
20fb7e490706        influxdb            "/entrypoint.sh infl…"   2 days ago          Up 5 seconds        0.0.0.0:8086->8086/tcp   myinfluxdb

5.3 查看当前宿主主机所有的docker容器

ubuntu@ubuntu-virtual-machine:~$ sudo docker container ls -a
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                    PORTS                    NAMES
07173e00f68e        hub.c.163.com/library/influxdb   "/entrypoint.sh infl…"   26 hours ago        Exited (0) 26 hours ago                            myinfluxdbold
e37df8c4246a        grafana/grafana                  "/run.sh"                2 days ago          Exited (0) 45 hours ago                            mygrafana
20fb7e490706        influxdb                         "/entrypoint.sh infl…"   2 days ago          Up 3 minutes              0.0.0.0:8086->8086/tcp   myinfluxdb
ubuntu@ubuntu-virtual-machine:~$

5.4 删除宿主主机上的docker容器

sudo docker container rm myinfluxdb

5.5 查看docker容器运行日志

sudo docker logs -f myinfluxdb

5.6 进入docker容器

sudo docker exec -it myinfluxdb bash

进入docker后,可以像在linux机器上一样使用命令对容器进行操作。

5.7编辑docker 中的文件

docker中文件因没有编辑功能,若要编辑,可采用先将docker中的文件拷贝至宿主主机,编辑文件,编辑完成后,在拷贝至docker中的相应位置。

docker中文件拷贝至宿主主机:

sudo docker cp 20fb7e490706:/etc/influxdb/influxdb.conf ./

宿主主机编辑后,在拷贝至docker容器:

sudo docker cp ./influxdb.conf 20fb7e490706:/etc/influxdb/influxdb.conf

6 docker 中安装命令

默认情况下,docker中的命令是有限的,如需使用vim时,docker中是没有此命令的,则需安装

apt-get update
apt-get install vim

你可能感兴趣的:(docker)