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>
```