centos7下docker安裝設置國內鏡像及常見命令

centos7下docker安裝設置國內鏡像及常見命令

要求

[root@localhost ~]# uname -r

在這裏插入圖片描述
docker要求centOs的內核版本在3.10 以上

移除舊版本

# 移除掉舊的版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安裝

[root@localhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#設置yum源爲阿里雲
[root@localhost ~]# yum -y install docker-ce
[root@localhost ~]# docker -v

docker安裝完成
在這裏插入圖片描述

設置國內鏡像

[root@localhost ~]# mkdir -p /etc/docker
[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["http://hub-mirror.c.163.com"]
> }
> EOF
[root@localhost ~]# systemctl restart docker

國內加速地址有:

Docker中國區官方鏡像

https://registry.docker-cn.com

網易

http://hub-mirror.c.163.com

ustc

https://docker.mirrors.ustc.edu.cn

中國科技大學

https://docker.mirrors.ustc.edu.cn

阿里雲容器

https://almtd3fa.mirror.aliyuncs.com

常見命令

查看docker概要信息

[root@localhost ~]# docker info

鏡像相關命令

查看鏡像

[root@localhost ~]# docker images

REPOSITORY:鏡像名稱
TAG:鏡像標籤
IMAGE ID:鏡像ID
CREATED:鏡像的創建日期(不是獲取該鏡像的日期)
SIZE:鏡像大小
這些鏡像都是存儲在Docker宿主機的/var/lib/docker目錄下

搜索鏡像

如果你需要從網絡中查找需要的鏡像
(格式:docker search 鏡像名稱)

[root@localhost ~]# docker search centos

NAME:倉庫名稱
DESCRIPTION:鏡像描述
STARS:用戶評價,反應一個鏡像的受歡迎程度
OFFICIAL:是否官方
AUTOMATED:自動構建,表示該鏡像由Docker Hub自動構建流程創建的

拉取鏡像

拉取鏡像就是從中央倉庫中下載鏡像到本地
(格式:docker pull 鏡像名稱:版本)

[root@localhost ~]# docker pull centos:7

刪除鏡像

按鏡像ID刪除鏡像

[root@localhost ~]# docker rmi 99a633ad346f

刪除所有鏡像

docker rmi `docker images -q`

注:這個是反引號,鍵盤ESC鍵下方那個

容器相關命令

查看容器

查看正在運行的容器

[root@localhost ~]# docker ps

查看所有容器

[root@localhost ~]# docker ps -a

查看最後一次運行的容器

[root@localhost ~]# docker ps -l

查看停止的容器

[root@localhost ~]# docker ps -f status=exited

創建與啓動容器

創建容器常用的參數說明:
創建容器命令:docker run
-i:表示運行容器
-t:表示容器啓動後會進入其命令行。加入這兩個參數後,容器創建就能登錄進去。即分配一個僞終端。
–name :爲創建的容器命名。
-v:表示目錄映射關係(前者是宿主機目錄,後者是映射到宿主機上的目錄),可以使用多個-v做多個目錄或文
件映射。注意:最好做目錄映射,在宿主機上做修改,然後共享到容器上。
-d:在run後面加上-d參數,則會創建一個守護式容器在後臺運行(這樣創建容器後不會自動登錄容器,如果只加-i -t
兩個參數,創建後就會自動進去容器)。
-p:表示端口映射,前者是宿主機端口,後者是容器內的映射端口。可以使用多個-p做多個端口映射

(1)交互式方式創建容器:
(格式:docker run -it --name=容器名稱 鏡像名稱:標籤 /bin/bash)

[root@localhost ~]# docker run -it --name=gohb01 centos:7 /bin/bash

退出

[root@b5ddcf1efaef /]# exit

(2)守護式方式創建容器:
(格式:docker run -di --name=容器名稱 鏡像名稱:標籤 /bin/bash)

[root@localhost ~]# docker run -id --name=gohb02 centos:7 /bin/bash

登錄守護式容器方式:
(格式:docker exec -it 容器名稱 (或者容器ID) /bin/bash)

[root@localhost ~]# docker exec -it gohb02 /bin/bash

停止與啓動容器

停止容器:
(格式:docker stop 容器名稱(或者容器ID))

[root@localhost ~]# docker stop gohb01

啓動容器:
(格式:docker start 容器名稱(或者容器ID))

[root@localhost ~]# docker start gohb01

文件拷貝

如果我們需要將文件拷貝到容器內可以使用cp命令
(格式:docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄)

[root@localhost ~]# docker cp anaconda-ks.cfg gohb02:/usr/local

文件從容器內拷貝出來
(格式:docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄)

[root@localhost ~]# docker cp gohb02:/usr/local/anaconda-ks.cfg af2.cfg

目錄掛載

我們可以在創建容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣我們就可以通過修改宿主機某個目錄
的文件從而去影響容器。
(格式:docker run -di --name=容器名 -v 宿主機目錄:容器目錄 鏡像名稱:標籤)

[root@localhost ~]# docker run -di --name=gohb03 -v /usr/local/myhtml:/usr/local/myhtml centos:7

如果你共享的是多級的目錄,可能會出現權限不足的提示。
這是因爲CentOS7中的安全模塊selinux把權限禁掉了,我們需要添加參數 --privileged=true 來解決掛載的目錄沒有權限的問題

[root@localhost ~]# docker inspect gohb03

查看容器運行的各種數據

(格式:docker inspect 容器名稱(容器ID))

[root@localhost ~]# docker inspect gohb03

查看IP地址

[root@localhost ~]# docker inspect --format='{{.NetworkSettings.IPAddress}}' gohb03

刪除容器

刪除指定的容器:
(格式:docker rm 容器名稱(容器ID))

[root@localhost ~]# docker rm gohb03
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章