Docker系列二:玩转单个容器

那么对于宿主机上运行的服务比,在容器内运行有以下两种优势
1.配置:将服务放入容器,提前配置好提供服务所需的程序、库、配置文件等,无须担心宿主机是否有这些组件。若有需要也很容易将容器迁移到另一个宿主机上。
2.隔离:每个容器有自己单独的文件系统和网络接口,能按需运行多个相同的服务容器。每个容器使用各自的IP和端口来公开其服务,这些服务之间不会彼此冲突。
在虚拟机内安装容器测试后发现虚拟机内的容器性能接近于物理机。

1.查看容器镜像 docker ps -a

2.进入容器里面 docker exec -it f74716b965d7 /bin/bash 或者 docker exec -it f74716b965d7 "bash"
3.在容器内运行命令 apt-get update
如图所示可以安装想装的软件了 apt-get install vim

registry是一个位置——在那里能够找到许多repository相关联的镜像。
repository是一个名字——Docker用它来代表多个镜像。

docker search ubuntu

docker search -s 10 ubuntu

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,我们以 Docker 官方加速器 https://registry.docker-cn.com 为例。
CentOS 7
请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

之后重新启动服务。

配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info ,如果从结果中看到了如下内容,说明配置成功。

https://hub.docker.com/
搜索想要的镜像
然后根据旁边的提示 docker pull oraclelinux

拉取镜像并不是将镜像放入系统的唯一方式,可以将本地系统的镜像保存到一个tar文件,然后复制传输到另外一个系统中,在那里装载他。
docker save 命令会保存与特定的repository关联所有的镜像。

查看docker下的镜像,选择mysql进行打包。
docker images
docker save -o mysql.tar mysql
du -sh mysql.tar

修改mysql权限,root注意要有
用SCP命令传输tar文件到另外一个系统中【centos传输至unbuntu】
【unbuntu需要scp能连接上】
sudo apt install docker.io//unbuntu安装docker
scp mysql.tar 192.168.140.134:/tmp

在unbuntu中装载mysql.tar
docker load -i /tmp/mysql.tar

docker export -o pg_1018export.tar 63
docker import pg_1018export.tar pg3
但是需要注意运行导入的镜像的时候必须带command,否则容器不能运行。

在新的地方装载

docker save保存的是镜像(image),docker export保存的是容器(container)

查看镜像,进行打包

查看容器,进行打包

对比两者打包后的大小和内容

对比可以看到容器内容是一个linux的文件目录

镜像的内容拆开看到:

其实就是一个分层的系统
Docker镜像实际上就是由这样的一层层文件进行叠加起来的,上层的文件会覆盖下层的同名文件。
如果将镜像中各层文件合并到一起,基本就是容器打包后内容。由于镜像里的各层文件会有很多重复文件,所以镜像打包后会比容器大那么一点。

简单地总结就是下面这样
save 镜像 打包—用 load 载入,用import可以载入但启动不了。
export 容器 打包—用 import 载入,用load不能载入,docker load必须要载入的是一个分层文件系统。

查看正在运行或暂停容器 docker ps
查看停止的容器 docker ps -a
启动 docker start CONTAINER ID
停止 docker stop CONTAINER ID
重启 docker restart CONTAINER ID
暂停 docker pause CONTAINER ID
取消暂停 docker unpause CONTAINER ID

docker run 创建新的容器
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

详细见 https://docs.docker.com/engine/reference/commandline/run/#mount-volume--v---read-only

以mysql的镜像为例子
[root@localhost text]# docker run -it mysql /bin/bash
然后也可以达到进入容器内的相同效果



  • 璇﹁Вdocker鈥斺斾綘闇瑕佺煡閬撶殑docker杩涢樁鐭ヨ瘑浜
    绛旓細2. Docker Compose鍜岀瀵嗙鐞 Docker Compose鍏佽浣犻氳繃鍗曚釜鏂囦欢瀹氫箟澶氫釜瀹瑰櫒鐨勯厤缃拰杩愯鍛戒护銆傜瀵嗙鐞嗗垯鐢ㄤ簬瀹夊叏鍦板瓨鍌ㄥ拰绠$悊鏁忔劅淇℃伅锛屽鏁版嵁搴撳瘑鐮佺瓑锛岀‘淇濊繖浜涗俊鎭笉浼氭硠闇茬粰涓嶅簲璁块棶鐨勪汉鍛樸3. 鏃ュ織绠$悊鍜岀洃鎺 Docker鎻愪緵浜嗗己澶х殑鏃ュ織绠$悊鍜岀洃鎺у姛鑳斤紝閫氳繃鍐呯疆鐨勬棩蹇楅┍鍔ㄥ拰绗笁鏂瑰伐鍏凤紝鍙互鏂逛究鍦版敹闆嗗拰...
  • Docker鏄粈涔Docker鐨瀹夎鍜屽嵏杞紻ocker涓叧浜庨暅鍍忕殑鍩烘湰鎿嶄綔
    绛旓細centos latest 0584b3d2cf6d 9 days ago 196.5 MB 鍏朵腑,-m鎸囧畾璇存槑淇℃伅;-a鎸囧畾鐢ㄦ埛淇℃伅;72f1a8a0e394浠h〃瀹瑰櫒鐨刬d;xianhu/centos:git鎸囧畾鐩爣闀滃儚鐨勭敤鎴峰悕銆佷粨搴撳悕鍜 tag 淇℃伅銆傛敞鎰忚繖閲岀殑鐢ㄦ埛鍚峹ianhu,鍚庤竟浼氱敤鍒般 姝ゆ椂Docker寮曟搸涓氨鏈変簡鎴戜滑鏂板缓鐨勯暅鍍弜ianhu/centos:git,姝ら暅鍍忓拰鍘熸湁鐨凜entOS闀滃儚鍖哄埆鍦ㄤ簬...
  • 濡備綍杩愯澶氳繘绋Docker瀹瑰櫒
    绛旓細鐒惰岋紝寰堝鏃跺欐垜浠渶瑕佸湪Docker瀹瑰櫒涓繍琛屽涓繘绋嬨備緥濡傦紝椤圭洰"浣跨敤鍗曚釜Docker瀹瑰櫒杩愯Kubernetes"锛宬ubernetes鐨勫悇涓粍浠跺潎杩愯鍦ㄥ悓涓涓鍣ㄤ腑锛岃瀹瑰櫒涓繍琛屼簡澶氫釜杩涚▼銆傞偅涔堬紝濡備綍杩愯澶氳繘绋婦ocker瀹瑰櫒?涓绉嶆柟娉曟槸浣跨敤Shell鑴氭湰锛屽彟涓绉嶆柟娉曟槸浣跨敤杩涚▼绠$悊宸ュ叿Supervisor銆俴iwenlau/kubernetes-shell鍜宬iwenlau/...
  • 銆愬鍣ㄣ戝叧浜docker瀹瑰櫒涓殑init杩涚▼
    绛旓細Docker鍦ㄨ繘绋嬬鐞嗕笂鏈変竴浜涚壒娈婁箣澶勶紝濡傛灉涓嶆敞鎰忚繖浜涚粏鑺備腑鐨勯瓟楝煎氨浼氬甫鏉ヤ竴浜涢殣鎮c侱ocker榧撳姳鈥滀竴涓鍣ㄤ竴涓繘绋(one process per container)鈥濈殑鏂瑰紡銆傝繖绉嶆柟寮忛潪甯搁傚悎浠ュ崟杩涚▼涓轰富鐨勫井鏈嶅姟鏋舵瀯鐨勫簲鐢紝鐒惰岀敱浜庝竴浜涗紶缁熺殑搴旂敤鏄敱鑻ュ共绱ц﹀悎鐨勫涓繘绋嬫瀯鎴愮殑锛岃繖浜涜繘绋嬮毦浠ユ媶鍒嗗埌涓嶅悓鐨勫鍣ㄤ腑锛屾墍浠ュ湪鍗曚釜...
  • docker鏄粈涔
    绛旓細Docker鐨涓昏鐗圭偣濡備笅锛1. 瀹瑰櫒鍖栨妧鏈锛欴ocker閫氳繃灏嗗簲鐢ㄧ▼搴忓拰鍏朵緷璧栭」灏佽鍦ㄥ鍣ㄤ腑锛岀‘淇濅簡搴旂敤绋嬪簭鍦ㄥ悇绉嶄笉鍚岀殑鐜涓殑琛屼负鏄竴鑷寸殑銆傝繖鎰忓懗鐫寮鍙戣呭湪寮鍙戠幆澧冧腑鏋勫缓鐨勫簲鐢ㄧ▼搴忥紝鍙互鍦ㄧ敓浜х幆澧冧腑浠ョ浉鍚岀殑鏂瑰紡杩愯銆2. 鍙Щ妞嶆э細鐢变簬Docker瀹瑰櫒鍙互鍦ㄤ换浣曡繍琛孌ocker鐨勭幆澧冧腑杩愯锛岃繖浣垮緱搴旂敤绋嬪簭鍜屼緷璧...
  • Docker鐨閭d簺浜嬪効鈥斾粈涔堟槸docker compose?
    绛旓細浣犻渶瑕佸畾涔変竴涓 YAML 鏍煎紡鐨勯厤缃枃浠 docker-compose.yml 锛屽啓濂藉涓鍣ㄤ箣闂寸殑璋冪敤鍏崇郴銆傜劧鍚庯紝鍙涓涓懡浠わ紝灏辫兘鍚屾椂鍚姩/鍏抽棴杩欎簺瀹瑰櫒銆傚惎鍔ㄦ墍鏈夋湇鍔 docker-compose up 鍏抽棴鎵鏈夋湇鍔 docker-compose stop 浣跨敤Compose鍖呭惈涓変釜鏈鍩烘湰姝ラ锛1銆佸畾涔Dockerfile鏂囦欢锛岃鏂囦欢瀹氫箟浜嗗簲鐢ㄧ幆澧冿紙闀滃儚鐨勬瀯寤猴級2銆...
  • 浠涔堟槸Docker
    绛旓細鈶℃爣鍑嗗紑鏀锛欴ocker瀹瑰櫒鍩轰簬寮鏀惧紡鏍囧噯锛岃兘澶熷湪鎵鏈変富娴佺殑Linux鐗堟湰銆丮icrosoft Windows浠ュ強鍖呮嫭VM瑁告満鏈嶅姟鍣ㄥ拰浜戝湪鍐呯殑浠讳綍鍩虹璁炬柦涓婅繍琛屻傗憿瀹夊叏鍙潬锛欴ocker璧嬩簣搴旂敤鐨勯殧绂绘т笉浠呴檺浜庡郊姝ら殧绂伙紝杩樼嫭绔嬩簬搴曞眰鐨勫熀纭璁炬柦銆侱ocker榛樿鎻愪緵鏈寮虹殑闅旂锛屽洜姝ゅ簲鐢ㄥ嚭鐜伴棶棰橈紝涔熷彧鏄鍗曚釜瀹瑰櫒鐨勯棶棰橈紝鑰屼笉浼氭尝鍙婂埌鏁村彴...
  • docker杩涘叆瀹瑰櫒鐨勫懡浠
    绛旓細浜у搧鍨嬪彿锛歍hinkpadE15 绯荤粺鐗堟湰锛歝entos8 docker杩涘叆瀹瑰櫒鐨勫懡浠 1銆佸厛鍚姩涓涓猚entos瀹瑰櫒 [root@xuegod63~]#dockerpullcentos#鎷夊彇centosdocker闀滃儚 [root@xuegod63~]#dockerrun-d-it--name=xuegod-webcentos#杩愯涓涓猟ocker瀹炰緥 2銆佷娇鐢╠ockerexec杩涘叆瀹瑰櫒 璇硶锛歞ockerexec-it 鏌ョ湅瀹瑰櫒ID [root@xuegod...
  • docker鑿滈笩鏁欑▼鏄粈涔?
    绛旓細Docker瑙嗛鍏嶈垂涓嬭浇 閾炬帴:https://pan.baidu.com/s/1WmpJyKAXcbPDgn29SS-c5g 鎻愬彇鐮:1r9g Docker瑙嗛|璧拌繘Docker|浠嶥ocker鍒癈aaS锛堜竴锛塂ocker闆嗙兢绠$悊浠嬬粛|浠嶥ocker鍒癈aaS锛堜笁锛塊ubernetes|浠嶥ocker鍒癈aaS锛堝叚锛夊井鏈嶅姟涓嶤aaS|浠嶥ocker鍒癈aaS锛堜簩锛塂ocker 瀹瑰櫒绠$悊宸ュ叿|浠 Docker 鍒 CaaS锛堜簲锛夌伒闆浜...
  • k8s鍜docker鍖哄埆
    绛旓細Docker鏄竴绉嶅鍣ㄥ寲鎶鏈紝鐢ㄤ簬灏嗗簲鐢ㄧ▼搴忓強鍏朵緷璧栭」鎵撳寘鍒板彲绉绘鐨勫鍣ㄤ腑锛屼粠鑰屽湪涓嶅悓鐨勮绠楃幆澧冧腑瀹炵幇鏃犵紳杩愯銆傝孠ubernetes鏄竴涓紑婧愮殑瀹瑰櫒缂栨帓骞冲彴锛岀敤浜庤嚜鍔ㄥ寲閮ㄧ讲銆佹墿灞曞拰绠$悊瀹瑰櫒鍖栧簲鐢ㄧ▼搴忋傜畝鍗曞湴璇达紝Docker鍏虫敞鍗曚釜瀹瑰櫒鐨勭敓鍛藉懆鏈熺鐞嗭紝鑰孠8s鍒欏叧娉ㄥ涓鍣ㄩ棿闆嗙兢鐨勭鐞嗗拰璋冨害銆備簩銆佸姛鑳界壒鐐 Docker...
  • 扩展阅读:github免费入口 ... docker官方网站 ... github永久官网 ... 尽量少用docker ... 每天五分钟玩转docker ... 为什么docker被淘汰了 ... docker hub官网 ... docker 实战 ... docker个人应用 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网