docker 实践

docker

docker pull silverlogic/python3.6

创建容器

docker run [option] 镜像名 [向启动容器中传入的命令]1

常用可选参数说明:

-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
--name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
--network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同

交互式:退出即停止

docker run -it --name=mypython python:3.6 /bin/bash

守护式

docker run -dit --name=mypython python:3.6

列出本机正在运行的容器

docker container ls 

列出本机所有容器,包括已经终止运行的

docker container ls --all

进入已运行的容器

docker exec -it 容器名或容器id 进入后执行的第一个命令
例如:docker exec -it mycentos2 /bin/bash

停止与启动容器

停止一个已经在运行的容器
docker container stop 容器名或容器id

启动一个已经停止的容器
docker container start 容器名或容器id

kill掉一个已经在运行的容器
docker container kill 容器名或容器id12345678

删除容器

docker container rm 容器名或容器id
将容器保存为镜像
docker commit 容器名 镜像名
镜像备份与迁移

可以通过save命令将镜像打包成文件,拷贝给别人使用

docker save -o 保存的文件名 镜像名1

例如:docker save -o ./centos.tar centos

对方在拿到镜像文件后,可以通过load方法,将镜像加载到本地

docker load -i ./centos.tar

将文件copy到容器内

docker cp /tmp/a.sh 容器ID:/root
docker cp /home/wanglin/Linde_gate 92a4889ba631:/usr/project

yum -y install gcc

yum install python-devel

yum install gcc libffi-devel python-devel openssl-devel

yum install -y libffi-devel python-devel openssl-devel

yum install unixODBC-devel

启动docker容器:(镜像放到最后)

  • 文件:将主机/www/1.conf 拷贝到容器96f7f14e99ab的test目录下
    docker cp /www/1.conf 96f7f14e99ab:/test/

  • 文件:将容器96f7f14e99ab中www目录下的12.conf文件,拷贝到主机的/目录中

    docker cp 96f7f14e99ab:/www/2.conf /

原文地址:https://www.cnblogs.com/pythonwl/p/13984497.html