docker基本操作

1.docker查找镜像

[root@iz2zecch299trjydpa40ypz ~]$ docker search mysql
INDEX       NAME                                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/mysql                                                  MySQL is a widely used, open-source relati...   7577      [OK]       
docker.io   docker.io/mariadb                                                MariaDB is a community-developed fork of M...   2453      [OK]       
docker.io   docker.io/mysql/mysql-server                                     Optimized MySQL Server Docker images. Crea...   568                  [OK]
docker.io   docker.io/zabbix/zabbix-server-mysql                             Zabbix Server with MySQL database support       154                  [OK]
docker.io   docker.io/hypriot/rpi-mysql                                      RPi-compatible Docker Image with Mysql          102                  
docker.io   docker.io/zabbix/zabbix-web-nginx-mysql                          Zabbix frontend based on Nginx web-server ...   81                   [OK]
docker.io   docker.io/centurylink/mysql                                      Image containing mysql. Optimized to be li...   59                   [OK]
docker.io   docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5   ubuntu-16-nginx-php-phpmyadmin-mysql-5          48                   [OK]
docker.io   docker.io/centos/mysql-57-centos7                                MySQL 5.7 SQL database server                   44                   
docker.io   docker.io/mysql/mysql-cluster                                    Experimental MySQL Cluster Docker images. ...   37                   
docker.io   docker.io/tutum/mysql                                            Base docker image to run a MySQL database ...   31                   
docker.io   docker.io/bitnami/mysql                                          Bitnami MySQL Docker Image                      23                   [OK]
docker.io   docker.io/schickling/mysql-backup-s3                             Backup MySQL to S3 (supports periodic back...   23                   [OK]
docker.io   docker.io/zabbix/zabbix-proxy-mysql                              Zabbix proxy with MySQL database support        18                   [OK]
docker.io   docker.io/linuxserver/mysql                                      A Mysql container, brought to you by Linux...   17                   
docker.io   docker.io/centos/mysql-56-centos7                                MySQL 5.6 SQL database server                   12                   
docker.io   docker.io/circleci/mysql                                         MySQL is a widely used, open-source relati...   8                    
docker.io   docker.io/mysql/mysql-router                                     MySQL Router provides transparent routing ...   8                    
docker.io   docker.io/openshift/mysql-55-centos7                             DEPRECATED: A Centos7 based MySQL v5.5 ima...   6                    
docker.io   docker.io/dsteinkopf/backup-all-mysql                            backup all DBs in a mysql server                5                    [OK]
docker.io   docker.io/jelastic/mysql                                         An image of the MySQL database server main...   1                    
docker.io   docker.io/openzipkin/zipkin-mysql                                Mirror of https://quay.io/repository/openz...   1                    
docker.io   docker.io/ansibleplaybookbundle/mysql-apb                        An APB which deploys RHSCL MySQL                0                    [OK]
docker.io   docker.io/cloudfoundry/cf-mysql-ci                               Image used in CI of cf-mysql-release            0                    
docker.io   docker.io/cloudposse/mysql                                       Improved `mysql` service with support for ...   0                    [OK]
[root@iz2zecch299trjydpa40ypz ~]$ 

2.docker下载镜像

docker pull mysql/mysql-server:latest
3.doucker查看容器及启动容器

[root@iz2zecch299trjydpa40ypz ~]$ docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat               latest              48dd385504b1        10 days ago         475 MB
docker.io/wurstmeister/kafka   latest              9de73503addf        3 weeks ago         337 MB
docker.io/rabbitmq             management          d69a5113ceae        7 weeks ago         149 MB
docker.io/zookeeper            latest              f336949ce7a1        7 weeks ago         148 MB
docker.io/mysql                latest              2dd01afbe8df        7 weeks ago         485 MB
[root@iz2zecch299trjydpa40ypz ~]$ docker run --name mysql -d --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker/mysql_data:/var/lib/mysql docker.io/mysql
820d7e1343201c1cd0c4ccc3bcdc0354e8c592471d118e39f104a3a5c456663c
[root@iz2zecch299trjydpa40ypz ~]$ 

其中,–name mysql:容器指定名称为mysql;-d:后台运行容器,并返回容器ID;–restart always:在容器退出时总是重启容器;-p 3306:3306:将宿主机的3306端口(前者)映射到容器的3306端口(后者);-e MYSQL_ROOT_PASSWORD=123456:设置mysql的root密码为123456;-v /docker/mysql_data:/var/lib/mysql:将宿主机的目录/docker/mysql_data映射到容器的目录/var/lib/mysql,用于存放容器的mysql数据库文件。

4.删除docker中的镜像

ntagged: docker.io/wurstmeister/zookeeper:latest
Untagged: docker.io/wurstmeister/zookeeper@sha256:2d71f9e0cb3440d552ee31769a00eb813be87397bf535995aca0bd4eadc151fc
Deleted: sha256:351aa00d2fe9804ed202bb3c1e0f7a337f2a2c316ad87f5e4b3cd052f263782b
Deleted: sha256:cd2cf3704aef513d20c2de71164ca0d61dee828cf5cda22f5d94a6e236c1f537
Deleted: sha256:3d86bd6c82f3d2134f20020ae1dcdb4c35622dfffd846653225348328adc11e1
Deleted: sha256:112613615c3c5830200f6482eb3f7f70679af3829e313b86734373429b0740fd
Deleted: sha256:3180e0cfed96b34b850951884921a54e74ccdb08ba2a412a48a67f3684592a2d
Deleted: sha256:08d496b872a7df357d286f951478725989d59f1d02f429d1b6777a41e259b7d2
Deleted: sha256:43ae9ff4372226476c99eea6d425d7ea95b5a5fb2f74a1b9bbd502a9c3bb9686
Deleted: sha256:feb06b3539913d2c817a6a4aa15ce87925ec57e87fe001fdb21e19a4dc34205c
Deleted: sha256:8a0be0ba98a0a5645b5d23bed652380aec4a501b0136854bf6979ef3652b9a8a
Deleted: sha256:69914bc13886a16f82d734f05b6d31535e32578b0b8027ecd0876f7eee226195
Deleted: sha256:0a6a558061d2753ff3d7a3b2f699b4141afa286c46c64d7479c70680ffb3b31c
Deleted: sha256:16aae303a3e3fc8a3fa161fb753ac18df7fb5cdc3d118bbb1edceb86d846f7ed
Deleted: sha256:d20413971c378e688f6981c69378d2dbf146dce8c69e3281e38b03ff181d8064
Deleted: sha256:0f72e5b180fabc7d295dd2a09fea1b629c83eb6bd13d2e640716251cdbcb3094
Deleted: sha256:1020c0c0f4edc7a5b695351d2dcb8c4e9d70ebd4366d17574ca7e27dfe543fdf
Deleted: sha256:ee468bb36d6d7ef3483378dff5c7920a1340b1e4f5f8c54158d1098e04b79f63
Deleted: sha256:b94a4e48c2c794072e2311cf565a05b12fcff9ab097a294fc57ed9110fd90795
Deleted: sha256:a94a7b5aa8b29d57798c38c7245945c812febe492107770ba965b154d86e869f
Deleted: sha256:9297f600c87d20c6baa252eb509ba3ed6704804237d9d8feec34ddd4ec99184b
Deleted: sha256:f4808639fed5aa49d2b3250683b566a96bdd6652fb0f91ff9024fa0ab89a6bc4
Deleted: sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef
[root@iz2zecch299trjydpa40ypz ~]$ 

5.查看docker中的容器

[root@iz2zecch299trjydpa40ypz ~]$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                    PORTS                                NAMES
14ca7ed3e52d        wurstmeister/kafka    "start-kafka.sh"         2 weeks ago         Exited (1) 2 weeks ago                                         kafka
14bce808057b        zookeeper:latest      "/docker-entrypoin..."   2 weeks ago         Exited (143) 7 days ago                                        zookeeper
4735a8f7efcd        rabbitmq:management   "docker-entrypoint..."   4 weeks ago         Exited (0) 7 days ago                                          rabbitmq
b7905a2087dc        mysql                 "docker-entrypoint..."   4 weeks ago         Up 15 minutes             33060/tcp, 0.0.0.0:33306->3306/tcp   lch_mysql
[root@iz2zecch299trjydpa40ypz ~]$ 

6.查看docker中运行的容器

[root@iz2zecch299trjydpa40ypz ~]$ docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
b7905a2087dc        mysql               "docker-entrypoint..."   4 weeks ago         Up 16 minutes       33060/tcp, 0.0.0.0:33306->3306/tcp   lch_mysql
[root@iz2zecch299trjydpa40ypz ~]$ 

7.docker
5.docker停止容器

[root@iz2zecch299trjydpa40ypz ~]$ docker stop b7
b7
[root@iz2zecch299trjydpa40ypz ~]$ docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@iz2zecch299trjydpa40ypz ~]$ 

6.docker删除容器

[root@iz2zecch299trjydpa40ypz ~]$ docker rm b7905a2087dc
b7905a2087dc

7.查看运行的日志

[root@iz2zecch299trjydpa40ypz ~]$ docker run --name centos1 -d docker.io/centos /bin/sh -c "while true;do echo hello;sleep 2;done"
042d873d704e2d5a8d5490f76539ec2721b4e2735145ef021a0c73f4c3978d3d
[root@iz2zecch299trjydpa40ypz ~]$ docker logs 042d
hello
hello
hello
hello
hello
hello
hello
hello
[root@iz2zecch299trjydpa40ypz ~]$ docker logs -t -f 042d
2019-02-11T14:16:34.225043000Z hello
2019-02-11T14:16:36.238415000Z hello
2019-02-11T14:16:38.239684000Z hello
2019-02-11T14:16:40.240891000Z hello

8.查看容器详情

[root@iz2zecch299trjydpa40ypz ~]$ docker inspect 42c
[
    {
        "Id": "42c219ab5c74bd57adb9a230b00aa42789ac4077ed21ae45a3056e5d72ab192a",
        "Created": "2018-12-18T14:32:25.906567938Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "mysqld"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 27652,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-12-25T02:48:26.09188266Z",
            "FinishedAt": "2018-12-25T02:48:18.081203213Z"
        },
        "Image": "sha256:2dd01afbe8df1fe326f6609c56b08beefc6bf254d28993263da188b8fbf1254d",
        "ResolvConfPath": "/var/lib/docker/containers/42c219ab5c74bd57adb9a230b00aa42789ac4077ed21ae45a3056e5d72ab192a/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/42c219ab5c74bd57adb9a230b00aa42789ac4077ed21ae45a3056e5d72ab192a/hostname",
        "HostsPath": "/var/lib/docker/containers/42c219ab5c74bd57adb9a230b00aa42789ac4077ed21ae45a3056e5d72ab192a/hosts",
        "LogPath": "",
        "Name": "/mysql",
        "RestartCount": 0,
        "Driver": "overlay2",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/docker/mysql_data:/var/lib/mysql"
            ],
            "ContainerIDFile": "",

9.重新进入到容器中

[root@iz2zecch299trjydpa40ypz ~]$ docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                               NAMES
042d873d704e        docker.io/centos         "/bin/sh -c 'while..."   10 minutes ago      Up 10 minutes                                           centos1
e1b169b188dc        docker.io/tomcat         "catalina.sh run"        28 minutes ago      Up 28 minutes       8080/tcp                            tomcat
f9e6b9e6104c        docker.io/redis:latest   "docker-entrypoint..."   6 weeks ago         Up 6 weeks          0.0.0.0:6379->6379/tcp              redis5
910a09f2828f        docker.io/nginx          "nginx -g 'daemon ..."   7 weeks ago         Up 6 weeks          0.0.0.0:80->80/tcp                  quirky_babbage
df075db4f0dc        docker.io/tomcat         "catalina.sh run"        7 weeks ago         Up 5 weeks          0.0.0.0:8080->8080/tcp              appdemo
42c219ab5c74        2dd01afbe8df             "docker-entrypoint..."   7 weeks ago         Up 6 weeks          0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
[root@iz2zecch299trjydpa40ypz ~]$ docker attach 042
hello
hello
hello
hello
hello
hello
hello

10.docker提交

[root@iz2zecch299trjydpa40ypz ~]$ docker commit -m="ceshi" -a="kkagr" e1b169b188dc  kkagr/mytomcat:1.1               
sha256:523df36c203ff80403d50732db4992e289d55e27202e2027851114018f54f476

11.docker容器卷

[root@iz2zecch299trjydpa40ypz ~]$ docker run -it -v /myDataVolume:/dataVolume docker.io/centos
[root@3cc502f2fe83 /]# ^C
[root@3cc502f2fe83 /]# 

只读

[root@iz2zecch299trjydpa40ypz ~]$ docker run -it -v /myDataVolume:/dataVolume:ro docker.io/centos
[root@3cc502f2fe83 /]# ^C
[root@3cc502f2fe83 /]# 

12.通过dockerfile构建

[root@iz2zecch299trjydpa40ypz /Users/dockertest]$ vim Dockerfile

内容

FROM centos
VOLUME ["/dataVolume1","/datavolume2"]
CMD echo "finished,-----successed"
CMD /bin/bash

结果

[root@iz2zecch299trjydpa40ypz /Users/dockertest]$ docker build -f /Users/dockertest/Dockerfile -t kk/centos .
Sending build context to Docker daemon 2.048 kB
Step 1/4 : FROM centos
 ---> 1e1148e4cc2c
Step 2/4 : VOLUME /dataVolume1 /datavolume2
 ---> Running in b8b0d6837296
 ---> bc8aa784578d
Removing intermediate container b8b0d6837296
Step 3/4 : CMD echo "finished,-----successed"
 ---> Running in 92454fb9faf8
 ---> 2c94d5c54311
Removing intermediate container 92454fb9faf8
Step 4/4 : CMD /bin/bash
 ---> Running in 9c0dfece5d41
 ---> 7a02d3e90aac
Removing intermediate container 9c0dfece5d41
Successfully built 7a02d3e90aac
[root@iz2zecch299trjydpa40ypz /Users/dockertest]$ 

启动镜像可以看到文件夹

[root@iz2zecch299trjydpa40ypz ~]$ docker run -it kk/centos
[root@e8d961d4e612 /]# ll
total 64
-rw-r--r--   1 root root 12076 Dec  5 01:37 anaconda-post.log
lrwxrwxrwx   1 root root     7 Dec  5 01:36 bin -> usr/bin
drwxr-xr-x   2 root root  4096 Feb 12 14:30 dataVolume1
drwxr-xr-x   2 root root  4096 Feb 12 14:30 datavolume2
drwxr-xr-x   5 root root   360 Feb 12 14:30 dev
drwxr-xr-x   1 root root  4096 Feb 12 14:30 etc
drwxr-xr-x   2 root root  4096 Apr 11  2018 home
lrwxrwxrwx   1 root root     7 Dec  5 01:36 lib -> usr/lib
lrwxrwxrwx   1 root root     9 Dec  5 01:36 lib64 -> usr/lib64
drwxr-xr-x   2 root root  4096 Apr 11  2018 media
drwxr-xr-x   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x   2 root root  4096 Apr 11  2018 opt
dr-xr-xr-x 112 root root     0 Feb 12 14:30 proc
dr-xr-x---   2 root root  4096 Dec  5 01:37 root
drwxr-xr-x   1 root root  4096 Feb 12 14:30 run
lrwxrwxrwx   1 root root     8 Dec  5 01:36 sbin -> usr/sbin
drwxr-xr-x   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x  13 root root     0 Feb 12 14:30 sys
drwxrwxrwt   7 root root  4096 Dec  5 01:37 tmp
drwxr-xr-x  13 root root  4096 Dec  5 01:36 usr
drwxr-xr-x  18 root root  4096 Dec  5 01:36 var
[root@e8d961d4e612 /]# 

13.容器卷复制

[root@iz2zecch299trjydpa40ypz ~]$ docker run -d --name con1 kk/centos
bc832da77d332c146b81d0d17668dc2a987fcecd119241116b95a53386185609
[root@iz2zecch299trjydpa40ypz ~]$ docker run -it con2 --volumes-from con1 kk/centos
Unable to find image 'con2:latest' locally
Trying to pull repository docker.io/library/con2 ... 
/usr/bin/docker-current: repository docker.io/con2 not found: does not exist or no pull access.
See '/usr/bin/docker-current run --help'.
[root@iz2zecch299trjydpa40ypz ~]$ docker run -it --name con2 --volumes-from con1 kk/centos
[root@0b3095926ac8 /]# 

你可能感兴趣的:(docker基本操作)