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
使用如下命令安装:
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安装成功!
默认情况下,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
某些情况下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
使用命令可以在后台运行一个docker镜像:
sudo docker run -d -p 8086:8086 --name myinfluxdb influxdb
其中: -d 表示在后台运行
-p 表示宿主主机端口:docker容器内端口
-name 表示在宿主主机上运行的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
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:~$
sudo docker container rm myinfluxdb
sudo docker logs -f myinfluxdb
sudo docker exec -it myinfluxdb bash
进入docker后,可以像在linux机器上一样使用命令对容器进行操作。
docker中文件因没有编辑功能,若要编辑,可采用先将docker中的文件拷贝至宿主主机,编辑文件,编辑完成后,在拷贝至docker中的相应位置。
docker中文件拷贝至宿主主机:
sudo docker cp 20fb7e490706:/etc/influxdb/influxdb.conf ./
宿主主机编辑后,在拷贝至docker容器:
sudo docker cp ./influxdb.conf 20fb7e490706:/etc/influxdb/influxdb.conf
默认情况下,docker中的命令是有限的,如需使用vim时,docker中是没有此命令的,则需安装
apt-get update
apt-get install vim