赞
踩
关于daemon.json更多信息,请访问官网dockerd | Docker Documentation
作用:加快加速器访问。
- cat > /etc/docker/daemon.json << EOF
- {
- "data-root":"/usr/local/dockerWorkspace/",
- "registry-mirrors" : [
- "https://registry.docker-cn.com",
- "http://hub-mirror.c.163.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://cr.console.aliyun.com",
- "https://mirror.ccs.tencentyun.com"
- ]
- }
- EOF
- cat > /etc/docker/daemon.conf << EOF
- {
- "graph":"/usr/local/dockerWorkspace/",
- "registry-mirrors" : [
- "https://registry.docker-cn.com",
- "http://hub-mirror.c.163.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://cr.console.aliyun.com",
- "https://mirror.ccs.tencentyun.com"
- ]
- }
- EOF
1、更新yum
yum update
2、安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、docker安装
yum install docker-ce
5、查看docker安装的版本号
docker -v6、设置开机启动
systemctl daemon-reload
systemctl enable docker 设置docker开机自启
systemctl disable docker 关闭docker开机自启
1.启动
systemctl start docker
2、停止
systemctl stop docker
3、查看docker是否启动成功
systemctl status docker4、重启 restart
systemctl restart docker
1、查看有哪些镜像
docker images
2、查找镜像
docker search images(镜像名称)
eg:docker search tomcat8
3、拉去镜像
docker pull tomcat:8
4、删除镜像
需要使用docker images查看进项列表,需要删除那个(TAGET ID)镜像id
docker rmi xxxxxxx(镜像id)
docker rmi xxxxxxx(镜像名称)
5、删除所有镜像
docker rmi `docker images -q`
1、查看正在运行的容器
docker ps
2、查看所有容器
docker ps -a
3、查看最后一次运行的容器
docker ps -l
4、查看停止的容器
docker ps -f status=exited
1、docker run
-i: 表示运行容器
-t: 表示容器启动会进入其命令行。加入这两个参数后,容器就能登陆进去,及分配了一个伪终端。
--name: 为创建的容器名称
-v: 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或者文件映射,注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d: 在run后面加-d参数,则会创建一个守护式容器在后台运行(这创建后不会自动登陆容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p: 表示端口映射,前者食宿主机端口,后者是容器内的映射端口,可以使用多个-p做多个端口映射。
1、交互式方式创建容器
docker run -it --name:容器名称 镜像名称:标签/bin/bash
这时候我们通过ps命令查看,发现可以查看到启动的容器,状态为启动状态
2、退出当前容器
exit
3、启动tomcat
eg:docker run -it --name=tomcat8 tomcat:8 /bin/bash
进入到tomcat的运行环境中
docker exec -it centos8 /bin/bash
查看正在运行的容器列表
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2733fcf1d8a2 tomcat:8 "/bin/bash" 27 minutes ago Up 27 minutes 8080/tcp tomcat8-1 b4cc254381a9 tomcat:8 "/bin/bash" 46 minutes ago Exited (0) 42 minutes ago tomcat84、停止某个容器
docker stop b4cc254381a9
5、删除某个docker容器(需要先停止)
docker rm centos8(根据名称停止)
docker rm b4cc254381a9(根据id删除)
6、启动容器
docker start 2733fcf1d8a2(按照id启动)
docker start tomcat8-1(按照名字启动)
7、重启容器
docker restart 2733fcf1d8a2(按照id重启)
docker restart tomcat8-1(按照name重启)
1、从宿主机的文件拷贝到docker的容器中
1、docker cp xxx CONTAINER ID:/xx/xx
eg:docker /opt/usr/aa.txt b4cc254381a9:/usr/local
2、容器内部的项目拷贝
docker cp tomcat8:/usr/local/anaconda-ks.cfg anaconda-ks-1.cfg
说明:在正在运行的容器tomcat8里面,将路径/usr/local/anaconda-ks.cfg的文件拷贝一份到自己的目录下
2、从docker容器中拷贝文件到宿主机上。
docker cp tomcat8:/usr/local/anaconda-ks.cfg /usr/local/
1、查看全部
docker inspect tomcat8-1
2、过滤参数
docker inspect --format='{{.NetworkSettings.IPAddress}}' tomcat8-1
详细介绍请看DockerFile 文件详解、docker-maven-plugins的使用_Koma-forever的博客-CSDN博客_dockerfile maven 缓存
dockerfile是由一系列命令和参数构成的脚本,这些命令于基础镜像并最终创建一个新的镜像
命令 | 作用 |
FROM image_name:tag | 定义使用了那些基础镜像启动构件流程 |
MAINTAINER user_name | 声明镜像的创建者 |
ENV key value | 设置环境变量的创建者 |
RUN command | 是Dockerfile的核心文件部分,可以写多条 |
ADD source_dir/file desc_file/file | 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压 |
COPY source_dir/file desc_dir/file | 和add相似,但是如果有压缩文件并不能解压 |
WORKDIR path_dir | 设置工作目录 |
eg:构建dockerfile jdk1.8
1、创建一个目录
mkdir -p /usr/local/dockerjdk8
2、然后进入该目录
cd /usr/local/dockerjdk8
将jdk8复制到改目录下
mv /usr/jdk-8u11-linux-x64.tar.gz /usr/local/dockerjdk8/
3、写Dockerfile[在dockerjdk8目录下]
vim Dockerfile[必须写vim Dockerfile其他不加任何命令,D是大写]
在里面编写以下脚本
- FROM nginx
- # 以nginx基础镜像进行构建
- MAINTAINER zhangsan
- WORKDIR /usr
- RUN mkdir /usr/local/java
- ADD jdk-8u11-linux-x64.tar.gz /usr/local/java
- # [将jdkxxx这个文件拷贝到/usr/local/java下]
- ENV JAVA_HOME /usr/local/java/jdk1.8.0_11
- # [配置环境变量jdk1.8.0_11这个目录是提前就已经知道解压后得到的该目录,不可乱写]
- ENV PATH $JAVA_HOME/bin;$PATH
3、此时进行构建
docker build -t='jdk1.8' .
-t 表示构建好的镜像叫什么,就叫做jdk1.8
. 表示当前目录的Dockerfile [Dockerfile和当前执行的同一目录,所以用.]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。