Docker容器

docker容器使用(1)

本文主要是介绍docker容器使用(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

docker容器使用(1)

几个简单的参数

查看全部的容器

 docker ps -a

-d 以分离模式运行/在后台运行

-i以交互模式运行

-t在终端运行

-p --publish 端口映射-p表示把指定的端口映射到宿主机指定的端口上

-P 是否把所有容器暴露的端口都映射到宿主机的所有端口,True是表示是,False时表示只映射指定的端口

--name给容器命名

使用命令:

docker run [选项] --name test [镜像名] [命令]

Docker start [容器名称或者ID]开启容器

Docker restart [容器名称或者ID]重启容器

docker stop [容器名称或者ID]关闭容器

Tips:

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

Docker attach [容器名称或者ID]

Docker exec [容器名称或者ID]

两者的差距exit退出的时候attach会退出容器并停止容器,而exec退出容器的时候只会退出容器并不会停止容器。

查看所有的镜像

docker images

--tag 给镜像的标识

docker search [你需要的镜像名]在docker hub中查询镜像

docker pull [你需要的镜像名]在docker hub中拉取镜像

docker rmi [你想删除的镜像名]删除没用的镜像

利用容器更新镜像

首先我们需要有一个ubuntu的镜像创建的容器并且我们在上面做出了我们的修改

docker commit -m="描述信息" -a="作者" [容器id] my_image-ubuntu:v2.0

利用源代码构建我们自己的镜像

创建一个dockerfile(简单django项目)

FROM python:3.9.0#父镜像(基于python3.9)
LABEL authors="cangxueqifeng"#作者
WORKDIR /mysite/#项目的工作目录
ENV *DB_NAME*=yourdatabasename#使用的数据库名
ENV *DB_USER*=yourdatabaseuser#使用的数据库用户名
ENV *DB_PASSWORD*=yourdatabasepassword#使用的数据库的密码
ENV *DB_HOST*=host.docker.internal#给这个数据库服务命名
ENV *DB_PORT*=3306#指定数据库的端口
#COPY pip.conf /root/.pip/pip.conf#使用指定的pip镜像源
COPY requirements.txt requirement.txt#将源代码的requirements复制到容器中
COPY . .#将源代码复制到项目容器中 .指的是dockrefile文件所在的目录
RUN pip install --upgrade pip#效果等同于在docker的命令行输入pip install --upgrade pip更新pip版本
RUN pip install -r requirements.txt#下载requirements中的包
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#更改docker中的时区以匹配django中的时区
CMD ["python", "manage.py", "runserver","0.0.0.0:8000"]#运行django项目

使用build命令创建

docker build -t myapp .

创建完毕后

利用run命令创建容器

docker run -p 8000:8000 --name myapp-container myapp

Tips

1.-p默认绑定tcp端口若要使用udp端口

docker run -p 8000:8000/udp --name myapp-container myapp

2.还可以绑定ip地址如:

docker run -p 127.0.0.1:8000:8000 --name myapp-container myapp

并且可以使用

docker port [容器名称] [端口号]

前提是在容器运行的状态下并且此处加了端口号就是对应的映射关系,没有加端口号就是关于这个容器的所有映射关系

此时就可以看到我们的容器并可以宿主机在8000端口访问

这个时候可以用docker tag my-apptest1 myapp1.0给我们的镜像配一个标签用于辨别

至此简单的容器使用已经结束了

这篇关于docker容器使用(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!