目录
Windows
安装docker
使用docker开启redis
Docker一些常用的命令
pause
docker stop vs kill
Ubuntu
附:redis -- help
在win10下安装docker可以直接安装Docker for Windows Installer.exe,但是得把Hyper-V打开,有时候Hyper-V可能会抽风,docker就运行不了——我是从1709更新到1803的,但是在1803下docker一直无法在Linux container下启动,而在这个模式下才可以直接Pull redis,所以我只好把win10往回恢复到1709。嗯,目前是可以用的。
至于win7则需要先DockerToolbox.exe,具体的过程还得再win7装了才知道。
在docker里用“docker pull redis”把redis镜像安装好。运行docker里的镜像会比较占容量,可以通过windows自带的Hyper-V 管理器可以设置虚拟硬盘和虚拟机的路径到非系统盘。
设置好路径后,docker里的Disk image location会自动设置好,其实切换到Linux Container 下,memory的大小不一定要是1280MB(windows下docker使用及注意事项),proxies里面可以设置合适的代理加快下载速度,目前还没需要就没有设置,菜鸟教程里给的是网易的镜像地址(http://hub-mirror.c.163.com)。这样就基本设置好了。
开启Powershell,在里面直接输入docker run -d -p 6379:6379 --name redis00 redis,就可以开启一个redis容器。
上述命令行的部分解释如下:-d表示在后台运行,不阻塞命令行界面,让我们可继续输入其它命令,是detach单词缩写。
-p 表示端口号,左边的6379表示win10系统的端口(自已换其它的也随便),右边的则表表容器中redis端口,并且似乎右边这个必须要设置为6379,虽然可以设置成功,但是在使用这个redis容器的时候会出现错误(Error: Server closed the connection)。
--name表示运行redis镜像的一个实例名称。听别人打过一个比方,把镜像比作一个类,而运行一个镜像就相当于实例化一个对象。
再开启一个redis容器:docker run -d -p 7000:6379 --name redis01 redis.
可见,以上默认的IP地址(系统的)均为0.0.0.0,其实docker里可以自己设置IP地址:docker run -d -p 127.0.0.1:7001:6379 --name redis02 redis
有时在创建或开启已创建的redis容器时会出现以下错误:
这应该是机器上已经用了这个IP地址,换一个IP试试。
docker ps:列出正在工作的容器
docker ps -a:列出所有的容器
docker ps -l:列出最近建立的容器,包括停止运行的
docker start 容器名:启动容器
docker stop 容器名:暂停容器
docker rm 容器名:移除容器
docker pause 容器名:暂停容器中所有的进程
几个需要注意的:
docker pause可以暂时停止容器,以释放一部分CPU出来给其他服务使用
docker unpause可以解冻
stop会首先尝试正常结束容器(发送SIGTERM信号给容器中的程序),如果程序没有响应的话,则强制结束容器(发送SIGKILL信号);
kill则会直接强制结束容器
其他的可以参考:http://www.runoob.com/docker/docker-command-manual.html
#2018年10月27号
#新增Ubuntu的使用方法
首先安装docker,依次在终端执行以下命令,就可以完成基本的docker安装,至少可以使用pull镜像了,更多的docker安装方法可以参考网络搜索。
sudo apt-get install docker
sudo apt-get install docker.io
然后安装redis
sudo docker pull redis
安装redis镜像之后,便可以在docker中创建redis容器,格式跟Windows下的一样。
sudo docker run -d -p 6379:6379 --name redis00 redis
然后执行以下命令就可以进入redis容器:
sudo docker exec -it redis00 redis-cli
Usage: docker COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default
"C:\\Users\\Catlin Cao\\.docker")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level
("debug"|"info"|"warn"|"error"|"fatal")
(default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default
"C:\\Users\\Catlin Cao\\.docker\\ca.pem")
--tlscert string Path to TLS certificate file (default
"C:\\Users\\Catlin Cao\\.docker\\cert.pem")
--tlskey string Path to TLS key file (default
"C:\\Users\\Catlin Cao\\.docker\\key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Management Commands:
config Manage Docker configs
container Manage containers
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Commands:
attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
--add-host list Add a custom host-to-IP mapping
(host:ip)
-a, --attach list Attach to STDIN, STDOUT or STDERR
--blkio-weight uint16 Block IO (relative weight),
between 10 and 1000, or 0 to
disable (default 0)
--blkio-weight-device list Block IO weight (relative device
weight) (default [])
--cap-add list Add Linux capabilities
--cap-drop list Drop Linux capabilities
--cgroup-parent string Optional parent cgroup for the
container
--cidfile string Write the container ID to the file
--cpu-period int Limit CPU CFS (Completely Fair
Scheduler) period
--cpu-quota int Limit CPU CFS (Completely Fair
Scheduler) quota
--cpu-rt-period int Limit CPU real-time period in
microseconds
--cpu-rt-runtime int Limit CPU real-time runtime in
microseconds
-c, --cpu-shares int CPU shares (relative weight)
--cpus decimal Number of CPUs
--cpuset-cpus string CPUs in which to allow execution
(0-3, 0,1)
--cpuset-mems string MEMs in which to allow execution
(0-3, 0,1)
-d, --detach Run container in background and
print container ID
--detach-keys string Override the key sequence for
detaching a container
--device list Add a host device to the container
--device-cgroup-rule list Add a rule to the cgroup allowed
devices list
--device-read-bps list Limit read rate (bytes per second)
from a device (default [])
--device-read-iops list Limit read rate (IO per second)
from a device (default [])
--device-write-bps list Limit write rate (bytes per
second) to a device (default [])
--device-write-iops list Limit write rate (IO per second)
to a device (default [])
--disable-content-trust Skip image verification (default true)
--dns list Set custom DNS servers
--dns-option list Set DNS options
--dns-search list Set custom DNS search domains
--entrypoint string Overwrite the default ENTRYPOINT
of the image
-e, --env list Set environment variables
--env-file list Read in a file of environment variables
--expose list Expose a port or a range of ports
--group-add list Add additional groups to join
--health-cmd string Command to run to check health
--health-interval duration Time between running the check
(ms|s|m|h) (default 0s)
--health-retries int Consecutive failures needed to
report unhealthy
--health-start-period duration Start period for the container to
initialize before starting
health-retries countdown
(ms|s|m|h) (default 0s)
--health-timeout duration Maximum time to allow one check to
run (ms|s|m|h) (default 0s)
--help Print usage
-h, --hostname string Container host name
--init Run an init inside the container
that forwards signals and reaps
processes
-i, --interactive Keep STDIN open even if not attached
--ip string IPv4 address (e.g., 172.30.100.104)
--ip6 string IPv6 address (e.g., 2001:db8::33)
--ipc string IPC mode to use
--isolation string Container isolation technology
--kernel-memory bytes Kernel memory limit
-l, --label list Set meta data on a container
--label-file list Read in a line delimited file of labels
--link list Add link to another container
--link-local-ip list Container IPv4/IPv6 link-local
addresses
--log-driver string Logging driver for the container
--log-opt list Log driver options
--mac-address string Container MAC address (e.g.,
92:d0:c6:0a:29:33)
-m, --memory bytes Memory limit
--memory-reservation bytes Memory soft limit
--memory-swap bytes Swap limit equal to memory plus
swap: '-1' to enable unlimited swap
--memory-swappiness int Tune container memory swappiness
(0 to 100) (default -1)
--mount mount Attach a filesystem mount to the
container
--name string Assign a name to the container
--network string Connect a container to a network
(default "default")
--network-alias list Add network-scoped alias for the
container
--no-healthcheck Disable any container-specified
HEALTHCHECK
--oom-kill-disable Disable OOM Killer
--oom-score-adj int Tune host's OOM preferences (-1000
to 1000)
--pid string PID namespace to use
--pids-limit int Tune container pids limit (set -1
for unlimited)
--privileged Give extended privileges to this
container
-p, --publish list Publish a container's port(s) to
the host
-P, --publish-all Publish all exposed ports to
random ports
--read-only Mount the container's root
filesystem as read only
--restart string Restart policy to apply when a
container exits (default "no")
--rm Automatically remove the container
when it exits
--runtime string Runtime to use for this container
--security-opt list Security Options
--shm-size bytes Size of /dev/shm
--sig-proxy Proxy received signals to the
process (default true)
--stop-signal string Signal to stop a container
(default "15")
--stop-timeout int Timeout (in seconds) to stop a
container
--storage-opt list Storage driver options for the
container
--sysctl map Sysctl options (default map[])
--tmpfs list Mount a tmpfs directory
-t, --tty Allocate a pseudo-TTY
--ulimit ulimit Ulimit options (default [])
-u, --user string Username or UID (format:
--userns string User namespace to use
--uts string UTS namespace to use
-v, --volume list Bind mount a volume
--volume-driver string Optional volume driver for the
container
--volumes-from list Mount volumes from the specified
container(s)
-w, --workdir string Working directory inside the container