Docker使用

查看docker指令

docker —help

(以centos镜像为例)
拉去centos镜像(如果不指定版本默认拉取latest镜像)

docker pull centos

查看/删除本地镜像

docker images docker rmi centos

后台运行本地镜像且指定容器为centos

docker run -it —name=centos centos bash

进入centos容器

docker exec -it centos bash

查看运行中/所有(包括停止)容器、关闭/启动容器

docker ps docker ps -a docker start centos docker stop centos

Dockerfile

Nginx的安装(centos下)

创建nginx.repo文件

vi nginx.repo

(写入内容:)

name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true


创建dockerfile目录创建Dockerfile文件

vi Dockerfile (写入内容:) FROM centos COPY ./nginx.repo /etc/yum.repos.d/nginx.repo RUN yum install yum-utils -y RUN yum install nginx -y


构建docker的镜像文件

docker build -t mynginx:v1 .

运行mynginx镜像

docker run —name mynginx -p 80:80 -dit mynginx:v1 bash

测试访问(!!!!不是127.0.0.1!!!!!)

http://192.168.229.33

安装jdk

再/usr下新建jdk目录

mkdir jdk

下载jdk的tar包到 /usr/jdk目录下
新建Dockerfile文件

vi Dockerfile

写入

FROM centos RUN mkdir /usr/local/jdk WORKDIR /usr/local/jdk ADD jdk-8u191-linux-x64.tar.gz /usr/local/jdk/ ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_191/ ENV PATH $JAVA_HOME/bin:$PATH

构建镜像

docker build -t jdk1.8:v1 .

运行镜像并进入

docker run -dit —name=jdk jdk1.8:v1 bash docker exec -it jdk bash

image.png
image.png

安装tomcat、jdk、mysql(直接docker pull)并且部署简单的web项目

安装配置jdk,安装配置tomcat

FROM centos ADD jdk-8u191-linux-x64.tar.gz /usr/ ENV JAVA_HOME /usr/jdk1.8.0_191 ENV PATH $JAVA_HOME/bin:$PATH ADD ./apache-tomcat-8.5.78.tar.gz /usr/ ENV TOMCAT_HOME=/usr/apache-tomcat-8.5.78 ENV PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin CMD startup.sh && tail -f /usr/apache-tomcat-8.5.78/logs/catalina.out

构建镜像

docker build -t demo:v1 .

运行镜像容器

docker run —name demo -dit -p 8080:8080 -v /usr/logs:/usr/apache-tomcat-8.5.78/logs/ -v /usr/webapps:/usr/apache-tomcat-8.5.78/webapps demo:v1

查看tomcat的webapps项目是否自动解压

cd webapps ls

Docker私有化部署

配置Docker镜像加速

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://q86fcg9k.mirror.aliyuncs.com“] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

创建个人实例、命名空间和镜像仓库,在访问凭证中设置固定密码

image.png image.png image.png image.png

登录Dokcer Registery

docker login —username=wjx199933 registry.cn-chengdu.aliyuncs.com

将redis镜像推送到Registery

docker tag redis:6.2.6 registry.cn-chengdu.aliyuncs.com/wjx199933/demo:myredis1 docker push registry.cn-chengdu.aliyuncs.com/wjx199933/demo:myredis1

将redis镜像拉取到本机

docker pull registry.cn-chengdu.aliyuncs.com/wjx199933/demo:myredis1