Ubuntu 安装Docker
版本
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 | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令
curl -sSL /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: /v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
若看到上述信息,表明docker安装成功!
3.卸载
4. 镜像加速
4.1 添加镜像代理
默认情况下,docker从hub上下载需要安装的进行,囿于这些hub位于国外,下载速度缓慢,耗时较长,为提升下载速度,可以使用国内代理源,使用如下命令修改:
sudo vim /etc/docker/
在中添加内容:
{
"registry-mirrors": [
"",
"",
"",
"/",
".",
".",
"",
"https://dockerhub.",
"",
""
],
"live-restore": true,
"data-root": "/home/centos7/SoftWare/Docker/Data"
}
添加后,执行命令:
sudo systemctl restart docker
使用命令
sudo docker info
可以查看到下列信息时,表明加速代理设置成功。
Registry Mirrors:
/
./
/
https://dockerhub./
/
Live Restore Enabled: true
此时,拉取tomcat镜像时,速度明显加快
sudo docker pull tomcat
4.2 添加网络代理
某些情况下docker 获取镜像需要访问外网,因安全机制,存在使用代理服务器的情况,设置如下
新建文件
sudo mkdir -p /etc/systemd/system/
sudo touch /etc/systemd/system//
sudo vim /etc/systemd/system//
添加内容
[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,,.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 "/ 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 ./library/influxdb "/ infl…" 26 hours ago Exited (0) 26 hours ago myinfluxdbold
e37df8c4246a grafana/grafana "/" 2 days ago Exited (0) 45 hours ago mygrafana
20fb7e490706 influxdb "/ 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/ ./
宿主主机编辑后,在拷贝至docker容器:
sudo docker cp ./ 20fb7e490706:/etc/influxdb/
6 docker 中安装命令
默认情况下,docker中的命令是有限的,如需使用vim时,docker中是没有此命令的,则需安装
apt-get update
apt-get install vim