Docker

3.Docker 容器管理

2019-03-27  本文已影响0人  条子在洗澡
名称 版本
系统 CentOS Linux release 7.6.1810 (Core)
Docker version 1.13.1

查看镜像

docker images
-----------------------------------------------------------------------
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
centos                        v1                  9f38484d220f        12 days ago         202 MB
docker.io/centos              latest              9f38484d220f        12 days ago         202 MB
hub.c.163.com/library/mysql   latest              9e64176cd8a2        23 months ago       407 MB
mysql                         latest              9e64176cd8a2        23 months ago       407 MB

简单开启容器并执行

docker run image_name

进入容器,并给一个终端和输入设备

docker run -it image_name

添加容器开启后需要执行的命令

[root@test-docker ~]# docker run -it centos /bin/bash
[root@cef519002fcf /]# exit
[root@test-docker ~]# docker run -it centos /bin/sh
sh-4.2# exit
[root@test-docker ~]# docker run -it centos sleep 20

删除容器

docker rm -f CONTAINER ID  #删除正在运行的容器
docker rm CONTAINER ID     #删除运行结束的容器

启动容器并添加别名,可使用别名停止,启动,删除容器

docker run --name=c1 centos #将启动centos 给一个别名为c1
docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
7d187e60a545        centos              "/bin/bash"         8 seconds ago       Exited (0) 7 seconds ago                       c1
docker rm c1 #使用别名删除容器
docker start c1 #使用别名启动容器
docker stop c1 #使用别名停止容器
docker restart c1 #使用别名重启容器

临时运行一次容器 添加 --rm 参数

docker run -it --name=c2 --rm centos

修改容器主机名 -h 参数

[root@test-docker ~]# docker run -it -h k8smaster --name=c2 --rm centos /bin/bash
[root@k8smaster /]# 

容器退出时重启镜像 --restart=alwarys (不能与--rm选项同时使用)

docker run --restart=alwarys image_name CMD

后台运行容器 -d 参数

docker run -d image_name

查看容器后台运行情况

docker logs ContainerId #查看短暂信息
docker logs -f ContainerId #一直查看信息

容器中传入参数 -e 。如数据库用户名密码

docker run -dit --name=db --restart=always  -e 变量1=值1 -e 变量值2=值2 mysql
docker run -dit --name=db --restart=always -e MYSQL_ROOT_PASSWORD=redhat mysql

例子 启动nginx容器

启动容器 docker run -d --name=web --restart=always nginx
查看容器ip docker exec web ip a
-----------------------------------------------------
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
70: eth0@if71: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link 
       valid_lft forever preferred_lft forever
-----------------------------------------------------
测试是否成功  curl  172.17.0.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
```
上一篇 下一篇

猜你喜欢

热点阅读