yum包更新到最新
sudo yum update
安装需要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
sudo yum install docker-ce
查看版本
docker -v
创建文件夹
mkdir /etc/docker/
创建文档
touch daemon.json
编辑文档
{"registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"]}
启动docker
systemctl start docker
查看
systemctl status docker
停止docker
systemctl stop docker
重启docker
systemctl restart docker
开机自启动
systemctl enable docker
查看镜像
docker images
搜索镜像
docker search **
拉取镜像
docker pull **
删除镜像
docker rmi 名称或id
删除所有镜像
docker rmi docker images -q
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps -f status=exited
交互式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
守护式创建容器
docker run -id --name=容器名称 镜像名称 :标签
登录守护式容器方式
docker exec -it 容器名称(或者id) /bin/bash
启动容器
docker start 容器名称(或者id)
停止容器
docker stop 容器名称(或者id)
宿主机拷贝文件到容器
docker cp 需要拷贝文件的目录或文件 容器名称 :容器目录
容器文件拷贝到宿主机
docker cp 容器名称 :容器目录 需要拷贝文件的目录或文件
目录挂载
docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称 :标签
查看容器信息
docker inspect 容器名称(容器id)
查看容器ip
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或者id)
删除容器
docker rm 容器名称(或者id)
应用部署(mysql)
1.拉取mysql镜像 docker pull centos/mysql-57-centos7
2.创建容器 docker run -di --name=fan_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1516 centos/mysql-57-centos7
-p 端口映射 宿主机映射端口:容器运行端口
-e 添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登录密码
应用部署(tomcat)
1.拉取tomcat镜像 docker pull tomcat:7-jre7
2.创建容器 docker run -id --name=mytomcat -p 8080:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7
应用部署(nginx)
1.拉取镜像 docker pull nginx
2创建容器 docker run -id --name=mynginx -p 80:80 nginx
应用部署(redis)
1.拉取镜像 docker pull redis
2 创建容器 docker run -id --name=myredis -p 6379:6379 redis
保存镜像
docker commit 容器名 镜像名
备份镜像
docker save -o 文件名(例:mynginx.tar) 镜像名
文件恢复镜像
docker load -i 文件名(例:mynginx.tar)
Dockerfile构建jdk1.8镜像
1创建目录 mkdir -p /usr/local/dockerjdk8
2将jdk上传到 /usr/local/dockerjdk8
3进入目录 vi Dockerfile
FROM centos:centos7
MAINTAINER fan
RUN mkdir /usr/local/java
WORKDIR /usr/local/java
ADD jdk-8u11-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_11_
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/BIN/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
4 构建 docker build -t='jdk1.8' . 点是目录
Docker私有仓库
1.拉取私有仓库镜像 docker pull registry
2.创建启动容器 docker run -id --name=registry -p 5000:5000 registry
3 修改daemon.conf vi /etc/docker/daemon.conf
添加:"insecure-registries":["ip:端口"] ["ip:端口"] 为私有仓库地址
4.重启docker systemctl restart docker
镜像上传到私有仓库
1.镜像打标签 docker tag 镜像名 私有仓库地址/ 镜像名
2上传 docker push 私有仓库地址/ 镜像名