docker容器相关命令

简单介绍下docker容器相关的命令。

可以使用--help查看详细的命令。

docker run:创建容器并运行;

[root@*** ~]# docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
c800b2b8634db7adb4d177afe459e170d959aca9857b3c8b44d231aa5c1dbb5e

 --name mysqltest:容器命名为mysqltest;

-e MYSQL_ROOT_PASSWORD=123456:设置mysql的root密码,创建其他容器是是其它相关命令或者不需要;

-p 3306(主机端口):3306(容器内部端口):端口绑定,或者说映射,将主机端口和容器端口绑定,可以通过主机端口来访问容器内部端口;

-d:后台运行;

docker ps:查看正在运行的容器;

docker ps -a:查看所有容器;

[root@*** ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                      PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute           0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 32 minutes ago       Exited (0) 12 minutes ago                                       nostalgic_banzai

docker start name(容器名称-NAMES):启动容器;

docker stop name:关闭容器;

docker restart name:重启容器;

[root@*** ~]# docker stop mysqltest
mysqltest
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   14 minutes ago      Exited (0) 20 seconds ago                       mysqltest
aa220201e237        hello-world         "/hello"                 45 minutes ago      Exited (0) 24 minutes ago                       nostalgic_banzai
[root@*** ~]# docker start mysqltest
mysqltest
[root@*** ~]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   18 minutes ago      Up 4 minutes                0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 49 minutes ago      Exited (0) 29 minutes ago                                       nostalgic_banzai
[root@*** ~]# docker restart mysqltest
mysqltest
[root@*** ~]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   18 minutes ago      Up 3 seconds                0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 49 minutes ago      Exited (0) 29 minutes ago                                       nostalgic_banzai

docker kill name:杀掉运行中的容器;

[root@*** ~]# docker kill mysqltest
mysqltest
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   2 hours ago         Exited (137) 2 seconds ago                       mysqltest
aa220201e237        hello-world         "/hello"                 2 hours ago         Exited (0) 2 hours ago                           nostalgic_banzai

 docker pause name :暂停容器内所有进程;

docker unpause name :恢复容器进程; 

[root@*** ~]# docker start mysqltest
mysqltest
[root@*** ~]# docker pause mysqltest
mysqltest
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   2 hours ago         Up About a minute (Paused)   0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 2 hours ago         Exited (0) 2 hours ago                                           nostalgic_banzai
[root@*** ~]# docker unpause mysqltest
mysqltest
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   2 hours ago         Up 8 minutes             0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 3 hours ago         Exited (0) 2 hours ago                                       nostalgic_banzai

docker create:创建一个容器,不会启动;

[root@***~]# docker create --name mysqltest2 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 mysql:5.7
ed9d2f85004a3fcd1f1dfbcbd61001fe24e9701a4f693fea49ab061ba395475d
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                               NAMES
ed9d2f85004a        mysql:5.7           "docker-entrypoint.s…"   25 seconds ago      Created                                                      mysqltest2
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   3 hours ago         Up 51 minutes            0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 3 hours ago         Exited (0) 3 hours ago                                       nostalgic_banzai

 docker rm name:删除容器;

[root@***~]# docker rm mysqltest2
mysqltest2
[root@*** ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                               NAMES
c800b2b8634d        mysql:5.7           "docker-entrypoint.s…"   3 hours ago         Up About an hour         0.0.0.0:3306->3306/tcp, 33060/tcp   mysqltest
aa220201e237        hello-world         "/hello"                 4 hours ago         Exited (0) 3 hours ago                                       nostalgic_banzai

docker exec -it name /bin/bash:开启交互模式终端或者执行容器内命令;

[root@*** ~]# docker exec -it mysqltest  /bin/bash 
root@c800b2b8634d:/# 
root@c800b2b8634d:/# exit
exit
[root@*** ~]# 

docker inspect name(镜像名/容器名):获取镜像或者容器的属性信息;(信息多,直接省略)

[root@*** ~]# docker inspect mysql:5.7
.
.
.
[root@*** ~]# docker inspect mysqltest
.
.
.

docker logs name:查看容器日志

[root@*** ~]# docker logs mysqltest
2019-10-18 09:27:00+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.28-1debian9 started.
2019-10-18 09:27:00+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2019-10-18 09:27:00+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.28-1debian9 started.
2019-10-18 09:27:01+00:00 [Note] [Entrypoint]: Initializing database files
2019-10-18T09:27:01.347139Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
.
.
.

docker export -o xxx.tar name:将容器以xxx.tar文件导出;

[root@*** ~]# docker export -o mysql1.tar mysqltest
[root@*** ~]# ls
anaconda-ks.cfg  conf  data  Dockerfile  hello.tar  logs  mysql1.tar

 docker commit -a "xx" -m "xxx" 容器id 镜像仓库:版本:将容器创建镜像,不推荐,因为会产生临时文件;

[root@*** ~]# docker commit -a "su" -m "---test---" c800b2b8634d mysql:su1
sha256:aa121e1e43448582f62878650e20fb73d3eb7fd57e0c3c393cd8226a20b9b643
[root@*** ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               su1                 aa121e1e4344        7 seconds ago       437MB
.
.
.

 

 

如果有写的不对的地方,请大家多多批评指正,非常感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值