docker容器化部署及使用方式
作者:希望我的努力可以帮到你
这篇文章主要介绍了docker容器化部署及使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、什么是Docker
Docker是Google使用go语言开发出来的一个开源的应用容器引擎,可以让开发者快速的打包应用程序及相应的依赖程序到一个轻量级、可移植的容器中,再发布容器到任意的服务器上(Linux与Windows都支持Docker),容器间使用沙箱机制,相互之间互不影响。
二、安装部署
1、卸载旧版本
---卸载旧版本 $ yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2、基础依赖安装
----依赖包安装 $ yum install -y yum-utils device-mapper-persistent-data lvm2 ----设置docker-ce yum源 $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、docker安装
---安装最新版本 $ yum install docker-ce docker-ce-cli containerd.io ---指定版本安装 ----存储库中列出可用版本,然后选择并安装 $yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable 安装指定版本 $ yum install docker-ce-to docker-ce-cli-18.09.1 containerd.io
4、启动
启动 Docker $ systemctl start docker 开机启动设置 $ systemctl enable docker
5、安装portainer
安装portainer $docker pull docker.io/portainer/portainer 启动portainer $docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer-test docker.io/portainer/portainer
三、Docker设置阿里云镜像加速
---"insecure-registries": ["https://harbor.****.com"] 私有镜像仓库配置,下面会使用 -- "registry-mirrors": ["https://****.mirror.aliyuncs.com"]阿里镜像加速设置 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://****.mirror.aliyuncs.com"],"insecure-registries": ["https://harbor.****.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
四、Docker使用
1、开启远程访问
--开放2375端口,进行远程连接 vim /usr/lib/systemd/system/docker.service --添加如下内容 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --重启 systemctl daemon-reload systemctl restart docker
2、常用命令
--镜像搜索 docker search nginx --镜像下载 docker pull nginx --镜像查看 docker image ls ----或者 docker images --删除本地镜像 docker image rm 镜像id ----或者 docker rmi 镜像id --查看容器 docker ps -a --删除容器 docker rm -f 容器id --创建并启动容器(后台运行,加入 -d参数,端口映射 -p 8080:8080 ,文件挂载 -v /test:/test,设置容器名称 --name abc ) docker run -it -d -p 8080:80 -v /test:/test [image] bash --容器日志查看 docker logs 容器id --启动已创建的容器 docker start [容器id或者容器名字] --启动并进入容器 docker run -it 镜像名称:版本 /bin/bash --导出和导入容器 docker export 容器id > mynginx.tar --导入镜像 docker import mynginx.tar mynginx:1.0 --启动容器 docker run -d mynginx:1.0 bash
3、推送自己的镜像到dockerhub
--添加hosts echo "a.b.c.d harbor.abcd.com" >> /etc/hosts --登录镜像仓库 docker login https://harbor.abcd.com --创建镜像 docker commit 容器id 镜像名称 ----将镜像重新命名 docker tag 镜像id harbor.abcd.com/test/nginx:v2 ----推送镜像 docker push harbor.abcd.com/test/nginx:v2
五、DockerFile构建
1、命令发布
创建Dockerfile
vim Dockerfile --添加以下内容 FROM harbor.abcd.com/hawkeye/jdk1.8:v1 # 设置时区 ENV TZ=Asia/Shanghai # 时区写入系统文件 VOLUME /tmp COPY docker-demo-0.0.1-SNAPSHOT.jar /app.jar #RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone #RUN bash -c "touch /app.jar" EXPOSE 8080 #ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] ENTRYPOINT ["java","-jar","/app.jar"]
--创建镜像 $ docker build -t docker-demo:v1 . --查看镜像 $ docker images --启动容器 $ docker run -d -p 8080:8080 镜像ID
地址访问:
http://192.168.1.202:8080/docker/test1
2、Idea集成docker发布
1)在resource目录下创建Dockerfile并添加内容
2)创建docker连接
3)发布
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。