Centos7部署docker及基本使用

Centos7部署docker及基本使用

安装docker

[root@docker ~]# yum install docker -y
[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

查看docker版本
[root@docker ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Mon Aug  5 15:09:42 2019
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Mon Aug  5 15:09:42 2019
 OS/Arch:         linux/amd64
 Experimental:    false

查看docker基本信息
[root@docker ~]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: false
 Native Overlay Diff: false
Logging Driver: journald
Cgroup Driver: systemd
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current

docker镜像下载

docker search : 从Docker Hub查找镜像
[root@docker ~]# docker search centos
INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                             The official build of CentOS.                   5534      [OK]       
docker.io   docker.io/ansible/centos7-ansible            Ansible on Centos7                              122                  [OK]
docker.io   docker.io/jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.6.1810 x...   111                  [OK]
docker.io   docker.io/consol/centos-xfce-vnc             Centos container with "headless" VNC sessi...   99                   [OK]
docker.io   docker.io/centos/mysql-57-centos7            MySQL 5.7 SQL database server                   62                   
docker.io   docker.io/imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              57                   [OK]
docker.io   docker.io/tutum/centos                       Simple CentOS docker image with SSH access      45                   
docker.io   docker.io/centos/postgresql-96-centos7       PostgreSQL is an advanced Object-Relationa...   39                   
docker.io   docker.io/kinogmt/centos-ssh                 CentOS with SSH                                 29                   [OK]
docker.io   docker.io/centos/php-56-centos7              Platform for building and running PHP 5.6 ...   22                   
docker.io   docker.io/pivotaldata/centos-gpdb-dev        CentOS image for GPDB development. Tag nam...   10                   
docker.io   docker.io/nathonfowlie/centos-jre            Latest CentOS image with the JRE pre-insta...   8                    [OK]
docker.io   docker.io/drecom/centos-ruby                 centos ruby                                     6                    [OK]
docker.io   docker.io/darksheer/centos                   Base Centos Image -- Updated hourly             3                    [OK]
docker.io   docker.io/mamohr/centos-java                 Oracle Java 8 Docker image based on Centos 7    3                    [OK]
......

下载镜像
Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]
[root@docker ~]# docker pull docker.io/centos

导入下载好的镜像
[root@docker ~]# docker load -i /opt/centos_latest.tar 
e15afa4858b6: Loading layer 215.8 MB/215.8 MB
Loaded image ID: sha256:ff426288ea903fcf8d91aca97460c613348f7a27195606b45f19ae91776ca23d

查看镜像列表
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              ff426288ea90        19 months ago       207 MB

docker tag : 标记本地镜像,将其归入某一仓库。
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
[root@docker ~]# docker tag ff426288ea90 registry
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
registry            latest              ff426288ea90        19 months ago       207 MB

运行一个container

docker run :创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v:	绑定一个卷
[root@docker ~]# docker run -dit registry:latest /bin/bash
abee1d0c618a5f0d89f51e1bc42e9646db56d1fca73eb847bf6a23c4f2c6817b
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
abee1d0c618a        registry:latest     "/bin/bash"         4 seconds ago       Up 3 seconds                            confident_payne

进入/退出/杀死一个容器

docker attach :连接到正在运行中的容器。
docker attach [OPTIONS] CONTAINER
[root@docker ~]# docker attach abee1d0c618a
[root@abee1d0c618a /]# ls
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  tmp  var
bin                etc  lib   media  opt  root  sbin  sys  usr
[root@abee1d0c618a /]# exit
exit

这时发现通过exit退出容器。容器会关闭。
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
abee1d0c618a        registry:latest     "/bin/bash"         3 minutes ago       Exited (0) 10 seconds ago                       confident_payne

[root@docker ~]# docker start abee1d0c618a
abee1d0c618a
[root@docker ~]# docker attach abee1d0c618a
[root@abee1d0c618a /]# #通过Ctrl+P+Q的方式退出。容器不会关闭
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
abee1d0c618a        registry:latest     "/bin/bash"         6 minutes ago       Up 2 minutes                            confident_payne

docker kill :杀掉一个运行中的容器。
[root@docker ~]# docker kill abee1d0c618a
abee1d0c618a

获取容器日志

docker logs : 获取容器的日志
docker logs [OPTIONS] CONTAINER
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
[root@docker ~]# docker logs -f abee1d0c618a

删除容器

docker rm :删除一个或多少容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f :通过SIGKILL信号强制删除一个运行中的容器
-l :移除容器间的网络连接,而非容器本身
-v :-v 删除与容器关联的卷
[root@docker ~]# docker rm -f abee1d0c618a
abee1d0c618a
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
发布了65 篇原创文章 · 获赞 48 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/DoloresOOO/article/details/100172632