docker

ls命令用于显示指定工作目录下之内容
ls -lh -a
参数:-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)


image.png
image.png

image.png

image.png

一:安装docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# Step 5:查看docker版本
sudo docker version

二: Docker 拉取镜像太慢,需要使用国内的镜像源进行加速

 vim /etc/docker/daemon.json.
{
  "registry-mirrors" : [
    "http://ovfftd6p.mirror.aliyuncs.com",
    "http://registry.docker-cn.com",
    "http://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "insecure-registries" : [
    "registry.docker-cn.com",
    "docker.mirrors.ustc.edu.cn"
  ],
  "debug" : true,
  "experimental" : true
}

三: DOCKER私有仓库搭建与配置

(1)拉取私有仓库镜像
docker pull registry
(2)启动私有仓库容器
docker run ‐di ‐‐name=registry ‐p 5000:5000 registry
(3)打开浏览器 输入地址http://192.168.8.44:5000/v2/_catalog看
到{"repositories":[]} 表示私有仓库搭建成功并且内容为空
(4)修改daemon.json
 vi /etc/docker/daemon.json
添加以下内容,保存退出。
{"insecure-registries":["192.168.8.44:5000"]}
此步用于让 docker信任私有仓库地址
(5)重启docker 服务
systemctl restart docker
(6)重启docker之后需要重新启动私有仓库
![image.png](https://upload-images.jianshu.io/upload_images/20496031-ec99eea7f8eba9a2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

四 docker创建dockerfile并用于生成相应镜像以及相关操作

1.0 docker创建dockerfile并生成镜像

查看docker镜像
docker search centos
创建Dockerfile
makedir /opt/data
vim Dockerfile
#############################
# Dockerfile to build Tomcat container images
# Based on Centos
#############################
#设置Centos形象基础
#FROM centos7 #默认使用的7.2以上,基本属于最新的Centos
#设置Centos7.2形象基础,使用Centos7.2版本
FROM centos:7.2.1511
#文件作者
MAINTAINER GddS
#指定时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN /bin/echo -e "ZONE="Asia/Shanghai"\nUTC=false\nRTC=false" > /etc/sysconfig/clock
#拷贝tomcat,jdk,run.sh脚本到容器
COPY ./tomcat-8083 /opt/tomcat-8083
COPY ./jdk1.8.0_151 /opt/jdk1.8.0_151
COPY ./run.sh /root/run.sh
RUN chmod +x /root/run.sh
#运行
ENTRYPOINT /root/run.sh

vim run.sh #运行的脚本,加载环境变量,并启动tomcat
#!/bin/bash
export JAVA_HOME=/opt/jdk1.8.0_151/
export PATH=$JAVA_HOME/bin:$PATH
sh /opt/tomcat-8083/bin/catalina.sh run

下载centos7.2.1511 #第一次下载此镜像后,以后安装就直接用此镜像,
以后安装速度较快,其实网速快也可以省略此步
docker pull centos:7.2.1511

生成镜像自定义镜像
docker build -t tomcat:8080 --rm=true .
:分隔
-t选择指定生成镜像的用户名,仓库名和tag
--rm=true指定在生成镜像过程中删除中间产生的临时容器。

查看生成的镜像
docker images
查看运行的容器
docker ps -a

用生成的镜像启动容器
docker run -d -p 8085:8080 -m 400M 
    --restart=always --memory-swappiness=0 
    -v /opt/webapps8085/:/opt/tomcat-8080/webapps
    --name app-8085 tomcat:8080 /root/run.sh
-d 后台运行
-p 指定端口
-v 挂载容器 /opt/webapps8085 宿主机文件   /opt/tomcat-8080/webapps 容器文件
--restart=always 自动重启
--name 创建用户名,方便启动|停止|重启容器
进入容器j
docker exec -it containerID /bin/bash
docker 压力测试
# stress --vm 1 --vm-bytes 400M # 压测到 400M 程序会被 kill

2.0 docker相关操作

(1)删除容器
docker rm test1


image.png

(2)删除镜像
docker rmi jdk1.8:1.1
(3)挂载方式运行

docker run -d -v /opt/job/:/usr/local/java/job/ --name test4 jdk:1.1
注:
      0. -v 参数:挂载方式运行
      1. /opt/job/  宿主机目录
       2. /usr/local/java/job/ docker容器中的目录
      3. --name  test4 给容器起的名字为test4
      4. jdk:1.1  镜像的名称和版本


image.png

宿主机是没有这个文件的 (/usr/local/java/job)


image.png

五 安装私有仓库与第三步骤相同

安装私有仓库
docker pull docker.io/registry
启动容器
docker run -d -p 5000:5000 -v /opt/dockerhub:/var/lib/registry --name dockerhub d1fd7d86a825

修改文件
#vi /etc/docker/daemon.json
{ "insecure-registries": ["10.2.98.167:5000"] }

#systemctl daemon-reload
#systemctl restart docker

上传镜像到私有云
1改名
docker tag 10462bf3cc86 10.2.98.167:5000/tomcat7:20180614
2上传
docker push 10.2.98.167:5000/tomcat8:last

查看容器运行的日志:
先通过docker ps -a查到已经被停止的容器的id
然后通过docker logs id 来查看相应的日志信息

你可能感兴趣的:(docker)