版权声明:作者-傲娇天子 博文主页地址:https://blog.csdn.net/qq_41116956 欢迎转载,转载请在文章页面明显位置给出原文链接,谢谢 https://blog.csdn.net/qq_41116956/article/details/84775177
首先,确定版本,本文选用centos7版本:(为了保证docker的正确部署,建议大家选择centos6.5及以上版本)
安装
本文版本:
[root@www ~]# uname -a
Linux www.linuxprobe.com 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1:删除已安装的docker或者旧版本的docker
[root@www ~]# yum remove docker
已加载插件:fastestmirror, langpacks
参数 docker 没有匹配
不删除任何软件包
小博主使用的是没有docker的linux服务器
2:安装docker相关软件
[root@www ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
...
更新完毕:
device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 lvm2.x86_64 7:2.02.177-4.el7
作为依赖被升级:
device-mapper.x86_64 7:1.02.146-4.el7
device-mapper-event.x86_64 7:1.02.146-4.el7
device-mapper-event-libs.x86_64 7:1.02.146-4.el7
device-mapper-libs.x86_64 7:1.02.146-4.el7
lvm2-libs.x86_64 7:2.02.177-4.el7
完毕!
[root@www ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
更新yum并安装docker-ce
[root@www ~]# yum makecache fast
已加载插件:fastestmirror, langpacks
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
epel/x86_64/metalink | 8.9 kB 00:00:00
extras | 3.4 kB 00:00:00
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql57-community | 2.5 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): docker-ce-stable/x86_64/primary_db | 19 kB 00:00:00
(2/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00
Loading mirror speeds from cached hostfile
* epel: mirrors.aliyun.com
元数据缓存已建立
[root@www ~]# yum -y install docker-ce
已安装:
docker-ce.x86_64 3:18.09.0-3.el7
作为依赖被安装:
container-selinux.noarch 2:2.68-1.el7 containerd.io.x86_64 0:1.2.0-3.el7
docker-ce-cli.x86_64 1:18.09.0-3.el7
完毕!
附:Ubuntu安装
apt-get install -y docker.io
查询docker版本:docker version
启动Docker
启动docker并检查是否启动成功
[root@www ~]# systemctl start docker.service
[root@www ~]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2018-12-03 17:42:20 CST; 8s ago
Docs: https://docs.docker.com
Main PID: 3715 (dockerd)
Memory: 103.6M
CGroup: /system.slice/docker.service
├─3715 /usr/bin/dockerd -H unix://
└─3720 containerd --config /var/run/docker/containerd/containerd.toml --log-lev...
12月 03 17:42:19 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:19.084555889+...s"
12月 03 17:42:19 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:19.085300561+...d"
12月 03 17:42:19 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:19.100262025+...."
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.331503385+...s"
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.449565296+...."
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.778578032+...7"
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.826099187+....0
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.844027847+...n"
12月 03 17:42:20 www.linuxprobe.com dockerd[3715]: time="2018-12-03T17:42:20.978777784+...k"
12月 03 17:42:20 www.linuxprobe.com systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
启动一个docker容器
本文以nginx容器为例
1:下拉一个镜像images
查询可用nginx容器
[root@www ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 10449 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1480 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 657 [OK]
jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as p… 448 [OK]
kong Open-source Microservice & API Management la… 254 [OK]
webdevops/php-nginx Nginx with PHP-FPM 118 [OK]
kitematic/hello-world-nginx A light-weight nginx container that demonstr… 112
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server wi… 79 [OK]
bitnami/nginx Bitnami nginx Docker Image 59 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 47 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 44
tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 23 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 13
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
wodby/drupal-nginx Nginx for Drupal container image 11 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 8
nginxdemos/hello NGINX webserver that serves a simple page co… 8 [OK]
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 5
1science/nginx Nginx Docker images that include Consul Temp… 4 [OK]
mailu/nginx Mailu nginx frontend 2 [OK]
travix/nginx NGinx reverse proxy 2 [OK]
pebbletech/nginx-proxy nginx-proxy sets up a container running ngin… 2 [OK]
toccoag/openshift-nginx Nginx reverse proxy for Nice running on same… 1 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 0 [OK]
wodby/nginx Generic nginx 0 [OK]
这里我们选择第一个镜像images
[root@www ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:5d32f60db294b5deb55d078cd4feb410ad88e6fe77500c87d3970eca97f54dba
Status: Image is up to date for nginx:latest
查询本地images
[root@www ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 568c4670fa80 6 days ago 109MB
没有问题,成功下拉了nginx的images
2:创建可使用容器nginx_1
[root@www ~]# docker create --name nginx_1 nginx
8c88398b754d488e7e769fe386c7d2fadd6ea2b9223874ea8411987f0f6c8232
//为docker容器的编码
3:查询创建的nginx_1容器
[root@www ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c88398b754d nginx "nginx -g 'daemon of…" About a minute ago Created nginx_1
4:启动docker容器nginx_1,若启动错误,文章后面附上解决方法。
[root@www ~]# docker start nginx_1
在docker中以上步骤可用下面一条命令完成
[root@www ~]# docker run nginx
镜像加速
docker执行pull的过程中,会因为网络的问题导致下拉时间延长,所以本文配置网易的镜像地址加速:
[root@www ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
由于deamon.json文件可能不存在,所以我们使用vim命令在该文件不存在是可以直接创建本文件
删除已经安装的docker
# yum remove docker-ce
# rm -rf /var/lib/docker
因为小博主不准备删除docker,所以附上以上命令给大家
启动错误
[root@www ~]# docker start nginx_1
Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/ee69db0098c7de864ea104e1b79e8418279992b77db7a46b287e9149ecc63983/log.json: no such file or directory): runc did not terminate sucessfully: unknown
Error: failed to start containers: nginx_1
这类错误,是因为linux的版本导致
[root@www ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
执行update:
[root@www ~]# yum update
...
替代:
NetworkManager.x86_64 1:1.0.6-27.el7 caribou.x86_64 0:0.4.16-1.el7 caribou-gtk2-module.x86_64 0:0.4.16-1.el7 caribou-gtk3-module.x86_64 0:0.4.16-1.el7
gnome-tweak-tool.noarch 0:3.14.3-2.el7 grub2.x86_64 1:2.02-0.29.el7.centos grub2-tools.x86_64 1:2.02-0.29.el7.centos ipa-python.x86_64 0:4.2.0-15.el7.centos
nautilus-open-terminal.x86_64 0:0.20-3.el7 pyatspi.noarch 0:2.8.0-3.el7 pygobject3.x86_64 0:3.14.0-3.el7 pygobject3-base.x86_64 0:3.14.0-3.el7
python-caribou.noarch 0:0.4.16-1.el7 python-cryptography.x86_64 0:0.8.2-1.el7 python-pyasn1.noarch 0:0.1.6-2.el7 rdma.noarch 0:7.2_4.1_rc6-1.el7
usbmuxd.x86_64 0:1.0.8-11.el7
完毕!
额。1个多G的大小,更新的有点久,一个小时就这么过去了,不过,linux的版本总是是成功更新了
[root@www ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
在本地image和容器都有的情况下,启动nginx_1容器:
[root@www ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 568c4670fa80 7 days ago 109MB
[root@www ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee69db0098c7 nginx "nginx -g 'daemon of…" 20 hours ago Created 80/tcp nginx_1
efa9b7f3c826 nginx "--name nginx_1" 24 hours ago Created 80/tcp fervent_bohr
[root@www ~]# docker start nginx_1
[root@www ~]# docker start nginx_1
nginx_1
[root@www ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee69db0098c7 nginx "nginx -g 'daemon of…" 20 hours ago Up 6 seconds 80/tcp nginx_1
成功启动nginx_1容器,好了,docker的安装就到这里了。
关于其他docker的使用方法,关注小博主的下篇文章哦。
完!