二进制安装docker
环境 centos 7
[root@localhost ~]# mkdir /data
[root@localhost ~]# wget -P /data/ https://download.docker.com/linux/static/stable/x86_64/docker-18.03.1-ce.tgz
[root@localhost ~]# cd /data/
[root@localhost data]# tar -xvf docker-18.03.1-ce.tgz
[root@localhost data]# cp docker/* /usr/bin/ 注意文件所属组
配置启动脚本:
[root@localhost ~]# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
启动服务进程
[root@localhost data]# systemctl daemon-reload
[root@localhost data]# systemctl start docker
安装结束
应用
启动docker
首先可以先配置一下镜像加速,不然拉镜像时会很慢
[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker info
Registry Mirrors:
https://registry.docker-cn.com
出现该内容表示镜像加速配置成功
拉取镜像
比如获取Ubuntu 和 centos 的
首先搜索一下看有哪些镜像:
[root@localhost ~]# docker search ubuntu
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/ubuntu Ubuntu is a Debian-based Linux operating s... 16294 [OK]
docker.io docker.io/websphere-liberty WebSphere Liberty multi-architecture image... 296 [OK]
docker.io docker.io/ubuntu-upstart DEPRECATED, as is Upstart (find other proc... 115 [OK]
docker.io docker.io/neurodebian NeuroDebian provides neuroscience research... 103 [OK]
docker.io docker.io/ubuntu/nginx Nginx, a high-performance reverse proxy & ... 97
显示ok 的就是官方的,选择官方的即可
拉取Ubuntu和centos镜像,并且指定版本:等待安装好即可
[root@localhost ~]# docker pull docker.io/ubuntu:16.04
[root@localhost ~]# docker pull docker.io/centos:7
查看当前主机镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest eea7b3dcba7e 3 days ago 187 MB
docker.io/centos 7 eeb6ee3f44bd 23 months ago 204 MB
docker.io/ubuntu 16.04 b6f507652425 23 months ago 135 MB
列表包含了仓库名、标签、镜像ID、创建时间以及所占用的空间。
其中镜像ID则是镜像的唯一标识,一个镜像可以对应多个标签。
查看镜像详细信息
[root@localhost ~]# docker inspect docker.io/ubuntu:16.04
运行容器
运行一个容器,使用centos镜像
[root@localhost ~]# docker run --name fu -d -P docker.io/centos:7
2afda700440819632ae6b233ed053d33fb42289c23624b78941ef6d05b829260
常见参数:
-t :打开一个终端,像使用交换机一样使用容器
-i:交互式访问
--name:容器名字
--network:指定网络
--rm:容器一停,自动删除
-d:后台运行容器,返回容器ID;否则会一直占据着终端
-p:端口映射,将容器内服务的端口映射在宿主机的指定端口,格式为:主机(宿主)端口:容器端口
-P: 随机端口映射,容器内部端口随机映射到主机的端口
停止容器
[root@localhost ~]# docker stop fu
重启容器
[root@localhost ~]# docker start fu
移除容器
[root@localhost ~]# docker rm fu
fu
查看所有容器
[root@localhost ~]# docker container ls -a
交互式进入容器
[root@localhost ~]# docker run --name fu1 -it docker.io/centos:7 /bin/bash
退出:
[root@40d06c30158b /]# exit
exit
查看容器日志
[root@localhost ~]# docker logs fu1