docker容器技術,入門

容器技術

1、什麼是容器?
容器就是隔離的環境運行的一個進程,如果進程停止,容器就會退出。
隔離的環境擁有自己的系統文件,ip地址,主機名等。
2、容器和虛擬機的區別(優勢)
虛擬化:擁有自己的內核,可以運行不通的操作系統,需要走開機啓動流程,隔離性能更好。
容器:不需要cpu的支持,共用宿主機內核,輕量級,損耗少(不需要模擬硬件),啓動快,性能好。

docker安裝啓動
[root@docker01 ~] wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
[root@docker01 ~] sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
[root@docker01 ~] yum install docker-ce -y
[root@docker01 ~] systemctl enable docker
[root@docker01 ~] systemctl start docker
docker驗證
[root@docker01 yum.repos.d]# docker version 
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false
docker主要內容

docker是一個cs架構,docker主要:鏡像 容器 倉庫 網絡 存儲 監控,docker是一個軟件的打包技術。

docker鏡像常用命令
docker search  搜索鏡像, 優先選官方,stars數量多
docker pull    拉取鏡像(下載鏡像)
docker push    推送鏡像(上傳鏡像)
docker load    導入鏡像
例子: docker load  -i  docker_nginx.tar.gz
docker save    導出鏡像
例子:docker save centos:7 -o docker_centos7.tar.gz
docker images   查看鏡像列表
docker rmi      刪除鏡像
docker tag      給鏡像打標籤
docker history  查看鏡像有幾層
docker prune    清理無效鏡像
docker build    生成鏡像
docker容器的常用命令
docker  run     創建並啓動容器
例子:docker run  -d -it -p 80:80  nginx:latest
docker  create  創建容器 --name
docker  start   啓動容器
docker  stop    停止容器
docker  restart 重啓容器
docker  kill    強制停止容器
docker  ps      查看容器列表  -a 查看所有容器
docker  rm      刪除容器
批量刪除所有容器 docker rm -f `docker ps -a -q`
docker  exec    進入正在運行的容器(分配一個新終端)
例子: docker exec  -it  容器id/容器名字   /bin/bash(/bin/sh)
docker  attach  進入正在運行的容器(使用相同的終端),偷偷離開的快捷鍵ctrl +p,ctrl +q
docker logs     查看容器內運行產生的輸出

注意:容器想要放在後臺一直運行,那麼容器的初始命令,必須夯住(前臺運行),否則容器就會退出。

例如:nginx :nginx -g 'daemon off;'
例如:php :/usr/sbin/php-fpm --nodaemonize
例如:httpd :/usr/sbin/httpd -D FOREGROUND
docker端口映射
docker run
-p  宿主機端口:容器端口
-p  宿主機ip1:宿主機端口:容器端口 (多個容器同時使用80端口)
-p  宿主機ip1::容器端口   隨機端口映射
-p  宿主機ip1::容器端口/udp   使用udp協議做隨機端口映射
-p 80:80  -p 3306:3306
-p 1111-1119:1111-1119  端口範圍映射
-P 自動隨機端口映射
docker數據卷
-v  宿主機絕對目錄:容器目錄
-v  容器目錄        #創建一個隨機卷,來持久化容器的目錄下的數據
-v  卷名:容器目錄    #創建一個固定名字的卷,來持久化容器的目錄下的數據

注意:一旦創建成功則無法添加數據卷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章