docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker容器化部署及使用

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)发布

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文