1.啓動docker
sudo systemctl start docker
2.查看docker版本
docker version
3.卸載docker軟件版
sudo yum -y remove docker-engine
4.刪除鏡像、容器、卷以及自定義配置文件
sudo rm -rf /var/lib/docker
5.搜索存放在Docker Hub上的鏡像
docker search java
6.拉去鏡像
docker pull java
dokcer pull 鏡像地址以及標籤
7.列出已經下載的鏡像
docker images
8.刪除本地鏡像
docker rmi 鏡像名稱
9.強制刪除本地鏡像
docker rmi -f $(dokcer images)html
1.新建並啓動容器
docker run 鏡像名
可配參數: -d 後臺運行,-P 隨機端口映射,-p 指定端口映射eg: hostPort:containerPort ,--network 指定網絡模式,--name 指定容器名稱
這裏運行是先檢查本地是否有鏡像,沒有就從倉庫下載鏡像並啓動。
2.列出容器
docker ps
參數 -a 列出全部容器,包括沒有運行的。dokcer ps -ajava
3.中止容器
docker stop 容器id/容器名稱
4.強制中止容器
docker kill 容器id/容器名稱
5.重啓容器
docker restart 容器id/容器名稱
6.進入容器
docker attach 容器id/容器名稱
7.刪除容器
docker rm 容器id/容器名稱
9刪除全部容器
docker rm -f $(docker ps -a -q)nginx
1.Dockerfile介紹
Dockerfile就是一個記錄了構建鏡像的命令的文本文件。
2.Dockerfile指令
FROM: 指定基礎鏡像。格式:FROM image , FROM image:tag , FROM image@digest
RUN: 執行命令。格式: RUN command
ADD: 複製文件。 格式:ADD src dest 或者 ADD ['src','dest']
注意:a.src必須在構建的上下文內,不能使用像ADD ../path /path的方式。
b.src能夠是一個URL,同時dest不是以斜槓結尾,dest會被看成文件,內容會下載到dest中。
c.若是src是一個URL,同時dest是以反斜槓爲,dest會被看成目錄使用。
d.若是src是目錄,將會複製整個目錄。
e.若是文件是可識別的壓縮格式,docker會自動解壓。
ARG: 設置構建參數。格式:ARG 參數名=參數值。用做構建時的參數,而不是容器運行時的參數
CMD:容器啓動命令。格式:CMD ["executable","param1","param2"]
COPY: 複製文件。 格式:COPY src dest 或者 COPY['src','dest']
注意:不支持URL和壓縮包
ENTRYPOINT:容器啓動時執行的命令。格式:ENTRYPOINT ["executable","param1","param2"]
ENV:設置環境變量。 格式:ENV key value, eg:ENV JAVA_HOME /path/java
EXPOSE: 聲明暴露的端口號。此端口不會自動啓用,這裏只是聲明。
LABEL: 爲鏡像添加元數據。格式: LABEL key=value key=value ...
MAINTAINER: 指定維護者信息。格式MAINTAINER name , eg: MAINTAINER lzy<lzy@163.com>
VOLUME: 指定掛載點。格式: VALUME 目錄。 該指令能試容器的數據具備持久化的能力,掛載後,數據是存儲 在宿主主機上。
WORKDIR: 指定工做目錄。 格式:WORKDIR 目錄
docker
3.Dockerfile 例子
FROM nginx:1.13.0-alpine
RUN echo '<h1>Hello, Docker! dockerfile</h1>' > /usr/share/nginx/html/index.html
4.使用Dockerfile構建鏡像
docker build -t nginx:my .
這條命令要在Dockerfile文件路徑下執行,命令最後的(.)用戶路徑參數傳遞,標識當前路徑
5.查看構建的鏡像
docker images
6.運行建立的鏡像
docker run -d -p 92:80 nginx:my
7.瀏覽器訪問ip:92/便可查看效果瀏覽器