一. docker的安裝
- 環境
本機操作系統:
Windows10 64位
虛擬機軟件: VMware14
虛擬機操作系統: CentOS-7 64位
- 升級所有包同時也升級軟件和系統內核
yum -y update
注: 加-y
是不需要問,一直yes
yum update
和yum upgrade
啥區別??
- 下載docker需要的依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
- 配置docker-ce(社區版)的下載地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 查看可下載的docker-ce信息,排序
yum list docker-ce --showduplicates | sort -r
- 下載最新版本的docker-ce
yum -y install docker
下載指定版本的docker-ce
例:yum -y install docker-ce-18.03.1.ce
- 啓動docker
systemctl start docker
- 設置docker開機啓動
systemctl enable docker
- 查看版本(包含客戶端和server)
docker version
- 卸載docker
暫時還不想卸載…
二. 操作鏡像
- 配置docker在中國的加速器(下面只是衆多方法之一)
cd /etc/docker
- 新建daemon.json文件,並編輯:
vim daemon.json
- 將此json字符串放進去:
{ "registry-mirrors":["https://registry.docker-cn.com"]}
- 重啓docker服務,使配置生效:
service docker restart
- 下載所需鏡像到宿主機
- 列出鏡像倉庫中所需要的鏡像列表(比如:包含java關鍵字)
docker search java
- 下載鏡像
2.1 下載java鏡像,指定版本爲jdk8(如果不指定,默認爲鏡像倉庫中的最新版,),
docker pull java:8
2.2 下載指定地址(比如自己的私有鏡像倉庫)的java鏡像,指定版本爲jdk8
docker pull XXXXXX.com/java:8
- 查詢鏡像
docker images
- 刪除鏡像(如果該鏡像沒有實例化的容器)
docker rmi imageID
涉及到的命令:
- 鏡像倉庫:
search
pull
- 本地鏡像:
images
rmi
三. 操作容器
- 運行一個容器的兩種方法
create + start
命令
先使用docker create
命令創建一個容器(如果沒有本地鏡像, 會自動從遠程拉取最新版本)(帶有各種參數)
然後使用容器生命週期基本命令(start, stop, restart
)的docker start
命令啓動容器run
該命令直接啓動一個容器(如果沒有本地鏡像, 會自動從遠程拉取最新版本)(帶有各種參數)- 如果出現
IPv4 forwarding is disabled. Networking will not work
這個提示信息, 解決辦法如下:
3.1 修改/etc/sysctl.conf
文件, 添加net.ipv4.ip_forward=1
3.2 重啓網絡服務:systemctl restart network
- 例如運行一個Nginx容器
4.1 先創建一個Nginx容器, 然後運行
docker create --name myNginx01 -p 90:80 nginx
docker start myNginx01
4.2 直接運行一個Nginx容器docker run -d --name myNginx02 -p 91:80 nginx
- 查看容器
- 查看運行中的容器
docker ps
或者docker container ps
- 查看全部容器
docker ps -a
或者docker container ps -a
- 查看容器
詳情
(很詳細)
docker inspect 容器
- 查看容器正在運行的進程信息
docker top 容器
- 刪除容器
- 先關閉容器
docker stop 容器
- 刪除容器
docker rm 容器
- 容器生命週期的操作
- 啓動容器
docker start 容器
- 停止容器
docker stop 容器
- 重啓容器
docker restart 容器
- 與容器的交互
- 創建一個交互終端(就是進入容器)
docker exec -it 容器 /bin/bash
或者docker exec -it 容器 bash