Docker 基礎使用

1. Docker 安裝&卸載

1.1 虛擬機安裝

Centos7 安裝

1.2 環境準備

  • 關閉防火牆
    systemctl stop firewalld
  • 禁止防火牆
    systemctl disable firewalld
  • 關閉SELinux
    vi /etc/selinux/config
    修改SELINUX=disabled
    重啓reboot
  • 安裝iptables
    yum -y install iptables-services
  • 啓動iptables
    systemctl start iptables
  • 使能iptables
    systemctl enable iptables
  • 清除防火牆規則
    iptables -F
  • 保持防火牆規則
    service iptables save
  • 更新系統
    yum -y update
    重啓reboot

1.3 離線rpm安裝docker

下載docker地址

經rpm包拷貝到一個目錄

[root@localhost ~]# cd docker
[root@localhost docker]# ll
total 19096
-rw-r--r-- 1 root root 19521288 May 24 03:13 docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root    29108 May 24 03:13 docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

1.3.1 執行安裝

yum -y install *

1.3.2 啓動

systemctl start docker
systemctl enable docker
systemctl status docker

1.3.3 測試docker

docker run hello-world

如果報錯一般是鏡像下載失敗,需要配置鏡像加速

1.3.4 配置鏡像加速

[root@localhost docker]# pwd
/etc/docker
[root@localhost docker]# ll
total 8
-rw-r--r-- 1 root root 105 May 24 04:49 daemon.json
-rw------- 1 root root 244 May 24 03:19 key.json
[root@localhost docker]#

修改daemon.json(沒有自己創建該文件)

{
    "registry-mirrors":["http://hub-mirror.c.163.com"]
}

修改完後執行

systemctl daemon-reload
systemctl restart docker

1.4 卸載Docker

要確保容器停止docker container stop xxx,docker rm xxx,docker停止systemctl stop docker之後,再執行下面操作

1.4.1 yum list installed|grep docker

[root@localhost docker]# yum list installed|grep docker
docker-ce.x86_64                     17.03.0.ce-1.el7.centos        @/docker-ce-17.03.0.ce-1.el7.centos.x86_64
docker-ce-selinux.noarch             17.03.0.ce-1.el7.centos        @/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch

1.4.2 yum -y remove

yum -y remove docker-ce-selinux.noarch
yum -y remove docker-ce.x86_64

1.4.3 再次查看

[root@localhost docker]# yum list installed|grep docker
[root@localhost docker]# docker
-bash: /usr/bin/docker: No such file or directory

2. 鏡像和容器基本操作

2.1 docker信息

docker info

[root@localhost docker]# docker info
Containers: 0
...
Images: 0
Server Version: 17.03.0-ce
...
Registry Mirrors:
 http://hub-mirror.c.163.com
Live Restore Enabled: false

2.2 鏡像操作

2.2.1 查詢鏡像

docker search tomcat

[root@localhost docker]# docker search tomcat
NAME                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
tomcat                        Apache Tomcat is an open source implementa...   2736      [OK]
...

2.2.2 鏡像拉取

docker pull ubuntu:16.04

$ docker pull [選項] [Docker Registry 地址[:端⼝]/]倉庫名[:標籤]

2.2.3 鏡像查看

docker images
docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               005d2078bdfa        4 weeks ago         125 MB
...

2.2.4 運行鏡像生成容器

docker run ubuntu:16.04

[root@localhost docker]# docker run -it --rm ubuntu:16.04 /bin/bash
root@71b85e29f790:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
...
-d 後臺運行
-it交互式終端操作
--rm 容器退出後便被刪除

2.2.5 刪除本地鏡像

$ docker image rm [選項] <鏡像1> [<鏡像2> ...]
$ docker rmi 鏡像名

2.3 磁盤使用查看

docker system df

[root@localhost docker]# docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              2                   2                   124.7 MB            0 B (0%)
Containers          3                   0                   0 B                 0 B
Local Volumes       0                   0                   0 B                 0 B

2.4 容器操作

2.4.1 啓動已終止的容器

docker container start

2.4.2 查看容器

docker ps
docker container ls
docker ps -a
docker container ls -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
16d80ed1acd8        ubuntu:16.04        "/bin/bash"         58 seconds ago      Up 58 seconds                           zealous_dijkstra

docker ps 和 docker container ls 一樣;docker ps -a 和 docker container ls -a 一樣

2.4.3 終止容器

docker container stop

2.4.4 重啓容器

docker container restart

2.4.5 刪除容器

docker container rm
docker rm

2.4.6 進入容器

docker exec -it

[root@localhost docker]# docker run -dit ubuntu:16.04
16d80ed1acd8903e91491ac5c9b50a640dc6059e3bfc8030531a49bd54211637
[root@localhost docker]# docker exec -it 16d80ed1acd8 bash
root@16d80ed1acd8:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@16d80ed1acd8:/# exit
exit
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章