【linux+docker】docker

安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
docker -v

启动/关闭/重启docker

systemctl start/stop/restart docker

安装软件镜像(镜像就相当于安装包,也可以自己制作)

docker pull xxxxx

查看镜像

docker images

启动镜像(生成容器,容器就是已安装的软件,可以打开关闭)

docker run --name xxx --network xxx --add-host=xxxxx:ip地址 -d -p 要访问的端口号:应用自己的端口号 -v 外部目录:容器目录

–name:容器起名
–network:连接容器需要到的,创建网络的名字
–add-host:添加host,在etc/hosts添加的host貌似对容器不管用,这样加就好了
-d:后台运行
-p:端口号,不明白的就用一样的,想明白的就随便试试
-v:挂载目录

查看容器

docker ps

停止容器

docker stop 容器id或你起的名字(以下均用id代替)

停止所有容器

docker stop $(docker ps -aq)

启动容器

docker start id

删除容器(需要先关闭容器)

docker rm id

删除所有容器

docker rm $(docker ps -aq)

删除镜像(需要先删除容器)

docker rmi 镜像id

删除tag为none的镜像

docker rmi $(docker images | grep "none" | awk '{print $3}')

删除所有镜像

docker rmi $(docker images -q)

新建网络(部署微服务项目会用到)

docker network create -d bridge xxxxx

查看网络

docker network ls

制作项目镜像:
假设你有一个后端项目,要制作成docker镜像
在项目的pom文件里加个插件(一般项目里都会有吧)

<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <!--docker镜像相关的配置信息-->
                <configuration>
                    <!--镜像名,这里用工程名-->
                    <imageName>${project.artifactId}</imageName>
                    <!--Dockerfile文件所在目录-->
                    <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
                    <!--TAG,这里用工程版本号-->
                    <imageTags>
                        <imageTag>${project.version}</imageTag>
                    </imageTags>
                    <!--构建镜像的配置信息-->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.artifactId}-${project.version}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

然后加dockerfile文件(项目里也应该有,我是这么写的)

FROM java:8
VOLUME /tmp
ADD xxx.jar xxx.jar
EXPOSE 端口号
ENTRYPOINT ["java","-jar","xxx.jar"]

然后打包项目,放到服务器上
制作镜像

docker build -f xxx/xxx/Dockerfile  -t 镜像名:版本号 xxx/xxx/target

再docker images就能看见你的镜像了
还可以把镜像或容器拿出来给别人用,很方便
提取镜像

docker save 镜像名:版本号 > xxx.tar

导入镜像

docker load -i xxx.tar

提取容器

docker export -o xxx.tar 容器名

导入容器

docker import xxx.tar 容器名:版本号

注意,启动导入来的某些容器要加上命令,比如:
先查看不省略的容器信息

docker ps -a --no-trunc

在这里插入图片描述
启动容器,直接再后面加上那里的命令即可

docker run --name devops-vue -d -p 9528:9528 devops-vue:latest nginx -g 'daemon off;'

进入容器环境(目录)(exit退出)

docker container exec -it a36ac5f03c94 /bin/bash

新增一个容器

docker run -it --rm sonatype/nexus3 sh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值