Docker 中常用的一些命令

創建容器常用的參數說明:
創建容器命令:
docker run
-i : 表示運行容器
-t : 表示容器啓動之後會進入命令行,加入這兩個參數後,容器就能登錄進去,即分配一個僞終端。
–name: 爲創建的容器命名

例如:docker run -it --name=容器名稱 鏡像名稱:版本(tag) /bin/bash

-v :標識目錄映射關係(前者是宿主機目錄,後者是映射到宿主機上的目錄),可以使用多個-v做多個目錄或者文件的映射
注意:最好做目錄映射,在宿主機上做修改,然後共享到容器上。
-d : 在run後面加上-d參數,則會創建一個守護容器在後臺運行(這樣創建容器後不會自動登錄容器,如果只加了-i -t 兩個參數,創建後會直接進入容器)
-p : 表示端口映射,格式爲 宿主機映射端口:容器運行端口,前者是宿主機的端口,後者是容器的端口,可以使用多個-p 做多個端口的映射
-e : 代表添加環境變量 MYSQL_ROOT_PASSWORD 是root用戶的登錄密碼

例:docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

登錄守護式容器方式:
docker exec -it 容器名稱 (或者容器ID) /bin/bash
讓docker開機啓動:

systemctl enable docker

查詢docker運行狀態:

systemctl status docker

查看docker中所有的鏡像文件:

docker images

從遠程倉庫搜索一個鏡像:

docker search mysql

從遠端拉取一個鏡像:

docker pull mysql:5.7 

查看正在運行的容器:

docker ps

查看所有的容器:

docker ps -a

查看最近創建的容器:

docker ps -l

根據條件過濾顯示的內容

docker ps -f status=exited

後臺創建啓動mysql容器:

docker run -di --name=mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root  mysql:5.7

登錄守護者線程

docker exec -it mysql /bin/bash

查看docker容器的詳細情況

docker inspect mysql57

指定IP地址返回值

docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql57

docker安裝redis

docker run -di --name=myredis -p 6379:6379 redis

docker安裝ngnix

docker run -di --name=mynginx -p 80:80 nginx

docker安裝tomcat

docker run -di --name=mytomcat -p 8080:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat

docker安裝jdk使用Dockerfile
創建並進入目錄

cd /usr/local/dockerjdk8

創建Dockerfile文件,內容如下:

#依賴鏡像名稱和ID
FROM centos:7
#指定鏡像創建者信息
MAINTAINER SHANG
#切換工作目錄
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相對路徑jar,把java添加到容器中
ADD jdk-8u231-linux-x64.tar.gz /usr/local/java/
#配置java環境變量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_231
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

執行命令構建鏡像

docker build -t='jdk1.8' .

啓動docker鏡像

docker run -di --name=jdk18 jdk1.8

docker創建遠程私服

docker pull registry

啓動私有倉庫

docker run -di --name=registry -p 5000:5000 registry

修改daemon.json

vi /etc/docker/daemon.json

添加如下內容,保存退出

{"insecure-registries":["49.234.52.245:5000"]}

重啓docker服務

systemctl restart docker

標記此鏡像爲私有倉庫的鏡像

docker tag jdk1.8  49.234.52.245:5000/jdk1.8

向遠程私服推送鏡像

docker push  49.234.52.245:5000/jdk1.8

導入和導出容器:
如果要導出本地的某個容器,可以使用docker export命令

docker export  NAME/ID  > fileName.tar

可以使用 docker import 從容器快照文件中再導入爲鏡像,以下實例將快照文件 ubuntu.tar 導入到鏡像 test/ubuntu:v1:

cat docker/ubuntu.tar | docker import - test/ubuntu:v1

也可以通過指定 URL 或者某個目錄來導入,例如:

$ docker import http://example.com/exampleimage.tgz example/imagerepo
發佈了21 篇原創文章 · 獲贊 27 · 訪問量 1604
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章