1.1 创建
跳转到“1.1 创建”(1) docker pull "images" #拉取镜像(2) docker images 或 docker image ls #显示镜像(3) docker pull ubuntu #拉取 ubuntu 镜像(4)docker run --name envls -d -it -v E:\Docker\ubuntu20.04\:\home ubuntu:20.04 #创建 ubuntu 容器,-i:交互式操作 t:表示使用终端,在创建完成后, -v:表示映射;共享宿主主机,就是和宿主主机文件映射
docker run --name envls -it --net=host -v C:\Users\28581_000\Desktop\Docker\ubuntu20.04LTS:\hmoe ubuntu #容器和宿主机共享 Network namespace
-p:设置 port
docker run --name envls -d -it -p 8282:80 -v E:\Docker\ubuntu20.04\:\home ubuntu:20.04
---
docker psdocker ps -adocker start container_namedocker attach contain_namedocker stop container_namedocker rm -f container_name or contain_ID
docker exec -it app_learn /bin/有dockerfile# 运行以下命令以构建 Docker 镜像:docker build -t <image_name> .
#等待镜像构建完成后,可以运行以下命令以创建容器:docker run -it <image_name> /bin/'''在Docker构建命令docker build -t <image_name> .中,-t标志用于为生成的Docker镜像指定名称和可选标记。<image_name>参数指定要为图像指定的名称,命令末尾的.表示构建上下文,即包含Dockerfile的目录。-t标志可以多次使用,以指定图像的附加标记,允许您对Docker镜像进行版本控制。例如,命令docker build -t my-image:1.0 -t my-image:latest .将创建具有两个标记的镜像:my-image:1.0和my-image:latest。:latest标记通常用于表示镜像的最新版本。'''1.2 端口映射
跳转到“1.2 端口映射”docker 容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。亦可使用 Dockerfile 文件中的 EXPOSE 指令来配置。
端口映射可使用-p、-P 来实现:
- -p 指定要映射的端口,一个指定端口上只可以绑定一个容器
- -P 将容器内部开放的网络端口随机映射到宿主机的一个端口上
端口映射支持的格式:
ip:hostport:containerport #指定ip、指定宿主机port、指定容器portip::containerport #指定ip、未指定宿主机port(随机)、指定容器porthostport:containerport #未指定ip、指定宿主机port、指定容器port端口的映射有以下五种方法:
一、将容器暴露的所有端口,都随机映射到宿主机上。
例如:(不推荐使用)
docker run -p -it ubuntu /bin/二、将容器指定端口随机映射到宿主机一个端口上。
例如:
docker run -p80 -it ubuntu /bin/以上指令会将容器的 80 端口随机映射到宿主机的一个端口上。
三、将容器指定端口指定映射到宿主机的一个端口上。
例如:
docker run -p 8000:80 -it ubuntu /bin/以上指令会将容器的 80 端口映射到宿主机的 8000 端口上。
四、将容器 ip 和端口,随机映射到宿主机上。
docker run -p 192.168.0.100::80 -it ubuntu /bin/以上指令会将容器的 ip192.168.0.100 和 80 端口,随机映射到宿主机的一个端口上。
五、将容器 ip 和端口,指定映射到宿主机上。
docker run -p 192.168.0.100:8000:80 -it ubuntu /bin/以上指令会将容器的 ip192.168.0.100 和 80 端口,映射到宿主机的 8000 端口。
示例:
#将nginx的80端口映射到宿主机的800端口上docker run -d -it -p 800:80 nginx查看映射端口配置
docker port container_ID #容器ID#结果输出80/tcp -> 0.0.0.0:8001.3 端口开放
跳转到“1.3 端口开放” 安装完之后,在容器内开启8889的端口防火墙: sudo /sbin/iptables -I INPUT -p tcp --dport 8889 -j ACCEPT1.4 重连
跳转到“1.4 重连”容器还在运行,只是你意外地断开了与容器的连接,可以通过以下步骤重新连接到容器:
docker psdocker attach <container_id_or_name>
# 如果不确定容器的状态,或者想要查看在断开连接后发生了什么,可以查看容器的日志docker logs <container_id_or_name>