linux 安装docker

 

一、硬件环境要求

CPU(推荐1C+)

内存(推荐2G+)

硬盘(推荐40GB+)

 

二、安装docker

官方安装参考:https://docs.docker.com/engine/install/centos/

#安装辅助工具
sudo yum install -y yum-utils

#准备repo文件
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

#执行安装
sudo yum install docker-ce docker-ce-cli containerd.io

 

三、启动docker

#启动docker
systemctl start docker

#查看docker状态
systemctl status docker

#关闭docker
systemctl stop docker

 

四、设置阿里云镜像

#通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://y8yh50dy.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

 

五、镜像管理

#查看docker镜像
docker images

#删除docker镜像
docker rmi 镜像ID    // 批量删除 docker rmi $(docker images -a -q)

#获取docker镜像    // docker官方仓库:http://hub.docker.com
docker pull 镜像名称[:版本号]

 

 六、容器管理

#查看docker容器
docker ps    // 显示运行的容器,-a 显示所有的容器

#运行容器
docker run -dp 宿主机端口:docker内部端口 --name 容器名称 镜像名称    // 例如:docker -dp 8080:8080 --name tomcat-8080 tomcat

#停止容器
docker stop 容器ID|容器名称    // 批量停止:docker stop $(docker ps -a -q)

#启动容器
docker start容器ID|容器名称

#删除容器
docker rm 容器ID|容器名称    // 批量停止:docker rm $(docker ps -a -q)

 

七、进入容器

#进入容器
docker exec -it 容器名称 bash

#宿主机与容器之间拷贝文件
docker cp 容器名称:容器路径 宿主机路径 // 从容器拷贝到宿主机
docker cp 宿主机路径 容器名称:容器路径 // 从宿主机拷贝到容器

#查看容器日志
docker logs 容器名称|容器ID // 查看容器运行日志
docker logs --tail=10 容器名称|容器ID // 查看最后10行的运行日志
docker logs -f --tail=10 容器名称|容器ID // -f 查看实时日志

 

 八、创建数据卷

#查看数据卷
docker volume ls

#删除数据卷
docker volume rm 数据卷

#创建数据卷
docker volume create 数据卷

#应用数据卷
docker run -v 路径:容器内路径 镜像ID    // 直接指定一个路径作为数据卷的存储位置
docker run -v 数据圈名称:容器内路径 镜像ID    // 如果数据卷不存在,docker会帮你自动创建

#示例:
docker run -dp 8080:8080 --name tomcat-8080 -v /project/docker-volume:usr/local/tomcat/webapps/exam tomcat

#centos 复制
cp -r from-path to-path    // -r 复制

 

九、安装nginx

#安装nginx
docker pull nginx

#运行nginx
docker run -dp 80:80 --name nginx80 nginx

#创建数据卷目录
mkdir /project/nginx/html
mkdir /project/nginx/conf
mkdir /project/nginx/logs

#备份文件nginx默认配置文件
docker cp nginx80:/etc/nginx/nginx.conf /project/nginx/conf
docker cp nginx80:/etc/nginx/conf.d /project/nginx/conf

#运行nginx docker run -dp 80:80 --name nginx80
 -v /project/nginx/html:/usr/share/nginx/html
 -v /project/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
 -v /project/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf
 -v /project/nginx/logs:/var/log/nginx nginx

#nginx 设置集群
vi /project/nginx/conf/nginx.conf
#添加集群配置    // 在#gzip  on;下一行加入
    upstream nginxCluster{
        server 192.168.1.216:8080 weight=5;
        server 192.168.1.216:8081 weight=5;
        server 192.168.1.216:8082 weight=5;
        server 192.168.1.216:8083 weight=5;
        server 192.168.1.216:8086 backup;
    }

vi /project/nginx/conf/conf.d/default.conf
#添加集群配置
    location / { 
        root  html; 
        index  index.jsp; 
        proxy_pass http://nginxCluster;    // 增加此行配置
    }

#重启nginx
docker restart 容器名称

#设置防火墙端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload

 

 十、安装mysql

#安装mysql
docker pull mysql:5.6

#运行mysql
docker run -dp 3306:3306 --name msyql5.6 -e MYSQL_ROOT_PASSWORD='123456' mysql:5.6

#mysql 设置外部访问
docker exec -it msyql5.6 bash
mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

#设置防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

 

 

 

 

 

 

安装本地指南

官方参考:https://docs.docker.com/get-started/

#安装指南
docker run -dp 80:80 docker/getting-started    // 端口说明 HostPort:ContainerPort

#访问地址
http://IP

 

安装指定的TODO List项目

目录下增加Dockerfile文件,内容添加如下:

FROM node:12-alpine
RUN apk add --no-cache python g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]

 

在项目目录下,执行命令:

#编译(耗时25分钟,安装gcc、g++、python均耗时8分钟以上)
docker build -t getting-started .

#运行
docker run -dp 3000:3000 getting-started    // 端口说明 HostPort:ContainerPort

#访问
http://IP:3000

 

 

 

 停止与删除

#查看docker进程
docker ps

#查看docker所有镜像列表
docker images -a

#停止指定容器(根据名称) docker stop $(docker ps
-q --filter name=image-name) #删除指定容器(根据名称) docker rm $(docker ps -q --filter name=image-name) #停止所有容器 docker stop $(docker ps -a -q) #删除所有容器 docker rm $(docker ps -a -q) # 1.13版本以上提供prune系统工具 #系统清理 docker system prune #组件清理 docker container prune docker image prune docker network prune docker volume prune

 

 

 

 

 

 

-- over- -

 

posted @ 2021-09-12 02:19  vv_online  阅读(739)  评论(0编辑  收藏  举报