一、docker下载地址
Index of linux/static/stable/x86_64/
我这里下载的是docker-18.09.2.tgz
二、安装docker
所有操作均需root权限
1、创建docker组
groupadd docker
2、解压源码包
tar -zxvf docker-18.09.2.tgz -C /home/collect
注释:-C /home/collect 指定docker安装路径
3、将解压出来的docker目录下的指令复制到 /usr/bin/ 目录下
cp docker/* /usr/bin/
4、修改/usr/bin目录下的docker文件的属组
chown root:docker /usr/bin/docker*
chown root:docker /usr/bin/containerd*
chown root:docker /usr/bin/runc
chown root:docker /usr/bin/ctr
5、将docker注册为service服务
新建该文件
vi /etc/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
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
6、添加执行权限并重新加载配置文件
chmod a+x /etc/systemd/system/docker.service
systemctl daemon-reload
7、docker镜像加速(可以不做,但是docker pull会很慢,由于docker官网在海外)
新建该文件
vi /etc/docker/daemon.json
加入以下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
8、启动docker
systemctl start docker
三、docker使用之配置nginx
在第二部分已经安装好docker了,这里已部署nginx为例说明docker常用方法。
1、docker拉取nginx镜像
docker pull nginx #默认拉取最新版本的nginx,也可以手动指定nginx版本,如:docker pull nginx:1.20.1
2、docker创建容器启动nginx
docker run -d --name nginx01 -p 1234:80 nginx
# 命令详解:
# docker run 启动一个镜像
# -d 表示后台允许
# --name nginx01 表示为当前容器起一个别名
# -p 1234:80 表示将本机的1234端口映射到nginx镜像的80端口
# nginx 镜像 REPOSITORY标识;或者可以使用IMAGE ID,通过命令docker images 先查看出要启动的镜像的唯一标识,使用docker images命令,查询到镜像信息,然后找到镜像的REPOSITORY标识或IMAGE ID标识即可
***注意:***通过上述命令可以正常启动一个nginx容器没有问题,但是当我们需要修改nginx的配置文件时就会很麻烦了,需要进入到容器内部,修改配置,退出容器,然后再进行容器重启,过程较为繁琐。为了解决此问题,我们可以在容器启动的过程中添加一条命令,实现nginx 的配置文件和本地主机指定的配置文件形成关联映射,那么以后只要我们改动本地的配置文件后就会自动映射到nginx容器中,这样极大的简化了修改容器配置文件的流程。
3、将nginx关键目录映射到本机
1、创建本地文件存储目录
mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
www: nginx存储网站网页的目录
logs: nginx日志目录
conf: nginx配置文件目录
2、查看容器ID
docker ps -a
3、将配置文件拷贝到本地
docker cp 容器id:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
4、停止nginx
docker stop nginx
5、创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地
docker run -p 80:80 --name nginx-web -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx -d nginx
6、启动
docker start nginx-web
四、docker常用命令
一、查看容器
1、docker ps -aqf "name=程序名"
2、docker inspect --format="{{.Id}}" 程序名
3、docker ps -a
二、删除容器
docker rm 容器名(容器ID)