Docker安装+简单使用

版权声明:作者-傲娇天子 博文主页地址: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的使用方法,关注小博主的下篇文章哦。

完!

猜你喜欢

转载自blog.csdn.net/qq_41116956/article/details/84775177