Linux : Docker入门

1.端口映射

docker常用映射端口的方式进行部署, 例如:  docker run -p 8080:80 -d nginx    (把容器的80端口映射到宿主机的8080端口上)

2.独立IP

如果想要与宿主机在同一个网段中, 有独立的IP地址, 则可以使用 macvlan 技术来实现

(1) docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.2 -o parent=ens33 -o macvlan_mode=bridge net1

创建虚拟网络 net1 网段为192.168.0.0/24 网关为192.168.0.2 父网卡为ens33 macvlan的模式为bridge

(2) docker run --net=net1 --ip=192.168.0.133 --name f1 -dt ubuntu-debootstra

这样运行docker的时候则可以指定网络 net1 指定ip地址

2.1小记

(1) 使用  docker exec -it mynginx /bin/bash 在容器中执行命令 其中, -i:即使没有附加也保持STDIN 打开 -t:分配一个伪终端 mynginx容器名称或id,  /bin/bash 执行的命令

(2) 使用 docker rmi [镜像名称:版本号]   来删除镜像, 如果镜像有容器在运行, 则需要先删除容器

3.打包构建镜像

 将资源文件一以及Dockerfile放在同一目录下(或者使用-f指定Dockerfile文件位置), 然后运行  docker build -t [自定义镜像名称:标签] .                 (注意后面的点不要丢掉)

Dockerfile例子:

FROM openjdk:8u242-jdk

MAINTAINER cccy0
ADD app.jar app.jar

EXPOSE 80
ENTRYPOINT ["java","-Xmx300m","-Dserver.port=80","-jar","app.jar"]

如果想要把镜像push到远程仓库中, 则需要先给镜像一个tag:

docker tag cdf26cc71b50 registry.cn-shanghai.aliyuncs.com/cccy/openjdk-1.8:0.0.1

其中, cdf26cc71b50 为镜像的id, registry.cn-shanghai.aliyuncs.com为远程仓库url, cccy为命名空间, openjdk-1.8为仓库名称, 0.0.1为版本号

然后push到仓库中:

docker push registry.cn-shanghai.aliyuncs.com/cccy/openjdk-1.8:0.0.1

posted @ 2020-03-13 00:24  cccy0  阅读(192)  评论(0编辑  收藏  举报