Centos7.4 安装Docker
一、安装docker
yum install -y docker
二、启动docker服务
systemctl start docker
三、设置成开机启动docker服务
systemctl enable docker
四、显示docker版本信息
docker version
五、显示docker基本信息
docker info
六、下载远程镜像
1、查看远程可用的镜像
docker search centos docker search node //查看安装好node的镜像
2、下载镜像
docker pull docker.io/centos
3、查看已下载的镜像列表
docker images
七、docker平台基本使用方法
1、运行一个container 并加载镜像centos,运行起来这个实例后,在实例中执行/bin/bash
docker run -it docker.io/centos:latest /bin/bash -i 以交互模式运行容器 -t 为容器重新分配一个伪输入终端
2、在后台运行container
docker run -d docker.io/centos:latest bash -c "while true; do echo hello world; sleep 1; done" -d 后台运行容器,并返回容器ID -c 后面跟待完成的命令
3、从一容器中取日志,查看输出的内容
docker logs 容器实例的Name/ID docker logs 518500e80156
4、查看运的容器实例
docker ps //查看正在运行的实例 docker ps -a //查看所有实例,包括正在运行的,或退出的
5、杀死运的容器进程
docker kill 容器实例的Name/ID docker kill 518500e80156
6、启动、停止、重启、进入、删除container容器实例
启动:docker run -it docker.io/centos:latest /bin/bash 停止:docker stop 518500e80156 重启:docker start 518500e80156 进入:docker exec -it 518500e80156 /bin/bash 删除:docker rm 518500e80156 //-f参数可以强制删除包括正在运行的实例 带参数启动:docker run -ti -d -p 8088:80 -v /www/docker/api:/api docker.io/centos:node bash -c "node /www/index.js"
docker run -d -it -p 3000:3000 --privileged aipeli/node:v2 /usr/sbin/init
7、杀掉所有正在运行的容器
docker kill $(docker ps -q)
8、删除已停止的容器
docker rm ·docker ps -a -q· docker rmi $(docker images -q) //删除所有镜像,小心使用! docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs docker rm //删除老的(一周前创建)容器
9、设置、查看容器IP地址
1)、创建自定义网络 docker network create --subnet=172.18.0.0/16 nodesubnet #创建子网掩码 docker run -itd --network nodesubnet --ip 172.18.0.10 docker.io/centos:node /bin/bash #设置容器IP 2)、查看容器IP yum install net-tools -y #安装net-tools ifconfig #查看容器IP信息
10、利用Niginx做反向代理
1)、配置docker网络设置
docker run -itd -v /www/docker/api:/www docker.io/aipeli/node:v1 bash -c "node /www/index.js"
2)、配置nginx虚拟主机
*以宝塔管理为例:创建配置文件/www/server/panel/vhost/nginx/docer.conf
server { listen 80; server_name www.xxx.com xxxx.com; location / { proxy_pass http://172.17.0.3:80; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
11、修改已运行的container的配置
1、查看容器Id全称 # docker inspect 70529c1909e6 | grep Id "Id":"70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14" 2、进入容器配置目录 #/var/lib/docker/containers #cd 70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14 3、修改配置文件 config.v2.json hostconfig.json 网络修改,参见:https://blog.csdn.net/u011241780/article/details/79457876
12、保存container实例当前状态到镜像image,并提交到hub.docker.com或阿里云私有仓库
1、退出容器(container): # exit 2、停止容器: # docker stop 518500e80156 3、登陆服务器: # docker login 4、将容器打包成image # docker commit 518500e80156 aipeli/node:v2 5、上传到服务器: # docker push aipeli/node:v2