Docker容器环境配置

一、docker基础介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

使用docker的目的:

  • 快速搭建程序所需的环境并将程序部署在一个平台上。
基础流程

1、建立镜像并生成容器:

sudo docker pull ubuntu
docker run -itd --name [容器名称] [镜像名称] /bin/bash
# -d 后台运行
# -i: 以交互模式运行容器,通常与 -t 同时使用;
# -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
# -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

2、在生成的容器里,进行程序环境配置

sudo docker exec -it  [容器名称] /bin/bash
# 通过docker ps查询容器名称
# 进入容器root下终端,进行环境配置

3、将容器转成镜像

# 容器名称可以通过docker ps获得
sudo docker commit [容器名称] [新镜像名称]
# 新镜像名称可以加版本号,例如note_system:v1.2

4、导出镜像

sudo docker save -o [导出镜像文件名].tar  [镜像名称]:[tag版本]
# 文件大概几百M到一个G

5、另一台机子:导入镜像并进行部署;

# 载入docker
 sudo docker load --input [导出镜像文件名].tar
# 运行docker
sudo docker run -t -i -p [服务端端口]:[docker端口] [镜像名]:[版本号] /bin/bash

二、docker基础概念

  • 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
  • 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
  • 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

三、docker安装

https://docs.docker.com/engine/install/

四、基础指令

4.1 docker基础指令

可以参考网站:
https://www.runoob.com/docker/docker-container-usage.html

4.2 Docker的版本信息
docker version
4.3 查看和拉取镜像系统
docker search centos    # 查看centos镜像是否存在
docker pull ubuntu      # 利用pull命令获取镜像
4.4 查看Docker的镜像列表
docker images 
4.5 查看docker中运行的程序(容器):
docker ps -a   # 包括容器信息(包括历史)
docker ps       # 查看正在运行的docker容器
4.6 docker容器进入

进入docker容器

sudo docker exec -it  [容器名称] /bin/bash
4.7 环境配置:

pip出现timeout时解决办法

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cx_Oracle
4.8 docker文件传输:
docker cp 本地文件的路径 container_id:<docker容器内的路径>
# 例如
docker cp  /home/vagrant/test.txt 10704c9eb7bb:/root/test.text

参考连接:
docker文件传输

4.9 apt-get更新
# 更新apt-get
apt-get update
# 更新apt-get
sudo apt-get install software-properties-common
sudo apt-get install python-software-properties 

参考链接
https://blog.csdn.net/zhang__liuchen/article/details/83988433
https://blog.csdn.net/qq_35975447/article/details/106795935

参考文献

只要一小时,零基础入门Docker
Docker入门-慕课网

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容